<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>162768</bug_id>
          
          <creation_ts>2016-09-29 21:24:40 -0700</creation_ts>
          <short_desc>[INTL] Implement Intl.getCanonicalLocales</short_desc>
          <delta_ts>2016-10-05 17:09:54 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy VanWagoner">andy</reporter>
          <assigned_to name="Andy VanWagoner">andy</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1235113</commentid>
    <comment_count>0</comment_count>
    <who name="Andy VanWagoner">andy</who>
    <bug_when>2016-09-29 21:24:40 -0700</bug_when>
    <thetext>[INTL] Implement Intl.getCanonicalLocales</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235115</commentid>
    <comment_count>1</comment_count>
      <attachid>290292</attachid>
    <who name="Andy VanWagoner">andy</who>
    <bug_when>2016-09-29 21:33:46 -0700</bug_when>
    <thetext>Created attachment 290292
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235131</commentid>
    <comment_count>2</comment_count>
      <attachid>290292</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-09-29 22:41:10 -0700</bug_when>
    <thetext>Comment on attachment 290292
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=290292&amp;action=review

r=me

&gt; Source/JavaScriptCore/runtime/IntlObject.cpp:59
&gt; +static EncodedJSValue JSC_HOST_CALL IntlObjectFuncGetCanonicalLocales(ExecState*);

First letter should be lower case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235210</commentid>
    <comment_count>3</comment_count>
      <attachid>290330</attachid>
    <who name="Andy VanWagoner">andy</who>
    <bug_when>2016-09-30 07:07:59 -0700</bug_when>
    <thetext>Created attachment 290330
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236751</commentid>
    <comment_count>4</comment_count>
      <attachid>290330</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-10-05 12:29:52 -0700</bug_when>
    <thetext>Comment on attachment 290330
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=290330&amp;action=review

&gt; Source/JavaScriptCore/runtime/IntlObject.cpp:1032
&gt; +    JSArray* localeArray = JSArray::tryCreateUninitialized(vm, globalObject-&gt;arrayStructureForIndexingTypeDuringAllocation(ArrayWithUndecided), 0);

You could create an array of shape ArrayWithContiguous and the initial size already set to localeList.size().
That way you avoid growing the butterfly dynamically on push().

&gt; Source/JavaScriptCore/runtime/IntlObject.cpp:1040
&gt; +    auto len = localeList.size();
&gt; +    for (size_t i = 0; i &lt; len; ++i) {
&gt; +        localeArray-&gt;push(state, jsString(state, localeList[i]));

If you use push instead of setting the element at index, you can use the for-in loop of C++11:
    for (const String&amp; locale : localeList) {
        ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236794</commentid>
    <comment_count>5</comment_count>
      <attachid>290751</attachid>
    <who name="Andy VanWagoner">andy</who>
    <bug_when>2016-10-05 14:51:28 -0700</bug_when>
    <thetext>Created attachment 290751
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236795</commentid>
    <comment_count>6</comment_count>
      <attachid>290330</attachid>
    <who name="Andy VanWagoner">andy</who>
    <bug_when>2016-10-05 14:54:04 -0700</bug_when>
    <thetext>Comment on attachment 290330
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=290330&amp;action=review

&gt;&gt; Source/JavaScriptCore/runtime/IntlObject.cpp:1032
&gt;&gt; +    JSArray* localeArray = JSArray::tryCreateUninitialized(vm, globalObject-&gt;arrayStructureForIndexingTypeDuringAllocation(ArrayWithUndecided), 0);
&gt; 
&gt; You could create an array of shape ArrayWithContiguous and the initial size already set to localeList.size().
&gt; That way you avoid growing the butterfly dynamically on push().

done.

&gt;&gt; Source/JavaScriptCore/runtime/IntlObject.cpp:1040
&gt;&gt; +        localeArray-&gt;push(state, jsString(state, localeList[i]));
&gt; 
&gt; If you use push instead of setting the element at index, you can use the for-in loop of C++11:
&gt;     for (const String&amp; locale : localeList) {
&gt;         ...

Setting the initial size required this to switch to initializeIndex, which needs the index number.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236796</commentid>
    <comment_count>7</comment_count>
      <attachid>290751</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-10-05 15:01:02 -0700</bug_when>
    <thetext>Comment on attachment 290751
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=290751&amp;action=review

&gt; Source/JavaScriptCore/runtime/IntlObject.cpp:118
&gt; +    putDirectNativeFunction(vm, globalObject, Identifier::fromString(&amp;vm, ASCIILiteral(&quot;getCanonicalLocales&quot;)), 1, intlObjectFuncGetCanonicalLocales, NoIntrinsic, DontEnum);

Identifier has a constructor taking a static string, you do not have to use ASCIILiteral with them.

&gt; Source/JavaScriptCore/runtime/IntlObject.cpp:1039
&gt; +    auto len = localeList.size();
&gt; +    for (size_t i = 0; i &lt; len; ++i) {

In WebKit, we avoid shortening names. &quot;len&quot; should be &quot;length&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236828</commentid>
    <comment_count>8</comment_count>
      <attachid>290762</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-10-05 16:36:28 -0700</bug_when>
    <thetext>Created attachment 290762
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236836</commentid>
    <comment_count>9</comment_count>
      <attachid>290762</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-05 17:09:50 -0700</bug_when>
    <thetext>Comment on attachment 290762
Patch for landing

Clearing flags on attachment: 290762

Committed r206837: &lt;http://trac.webkit.org/changeset/206837&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236837</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-05 17:09:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290292</attachid>
            <date>2016-09-29 21:33:46 -0700</date>
            <delta_ts>2016-09-30 07:07:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162768-20160929223042.patch</filename>
            <type>text/plain</type>
            <size>12943</size>
            <attacher name="Andy VanWagoner">andy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
MjU1YzY3MTRlMmE1ZDkxNThmNDY0MTkxZmFlNTA2MTNhN2QyYTllLi4yNTRkYTFmNTkwYmIyMDdl
YmY5MzJkYWNiODM5ZmUxMzA5MWM0ODdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNi0wOS0yOSAgQW5keSBWYW5XYWdvbmVyICA8dGhldGFsZWNyYWZ0ZXJA
Z21haWwuY29tPgorCisgICAgICAgIFtJTlRMXSBJbXBsZW1lbnQgSW50bC5nZXRDYW5vbmljYWxM
b2NhbGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjI3NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bXBsZW1lbnQgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzIGZyb20gRUNNQSA0MDIgKDNyZCBlZGl0
aW9uKQorICAgICAgICBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTQwMi8zLjAv
aW5kZXguaHRtbCNzZWMtaW50bC5nZXRjYW5vbmljYWxsb2NhbGVzCisKKyAgICAgICAgUmV1c2Ug
Y2Fub25pY2FsaXplTG9jYWxlTGlzdCBhbmQgY29weSB0aGUgcmVzdWx0cyBpbnRvIGEgbmV3IEpT
QXJyYXkuCisKKyAgICAgICAgKiBydW50aW1lL0ludGxPYmplY3QuY3BwOgorICAgICAgICAoSlND
OjpJbnRsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkludGxPYmplY3RG
dW5jR2V0Q2Fub25pY2FsTG9jYWxlcyk6CisKIDIwMTYtMDktMjkgIEZpbGlwIFBpemxvICA8ZnBp
emxvQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMDY1NTUpOiBJdCBtYWRlIERy
b21hZW8vanNsaWItc3R5bGUtanF1ZXJ5Lmh0bWwgY3Jhc2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bE9iamVjdC5jcHAKaW5kZXggYzNkZTdlZDEzMzM4MTIyYTk5ZjFlZmU2
ZGMyMjFhZWNiOWFjNGJjMS4uODE5ODQyMTY1NmNhNDNjYmZlYzRmYmZkYWU4Mzk1ZThjYmVmODg4
YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVjdC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVjdC5jcHAKQEAg
LTU2LDYgKzU2LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKIFNUQVRJQ19BU1NFUlRfSVNfVFJJVklB
TExZX0RFU1RSVUNUSUJMRShJbnRsT2JqZWN0KTsKIAorc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgSW50bE9iamVjdEZ1bmNHZXRDYW5vbmljYWxMb2NhbGVzKEV4ZWNTdGF0ZSop
OworCiB9CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtMTEwLDYgKzExMiwxMCBAQCB2b2lkIEludGxP
YmplY3Q6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
Q29sbGF0b3IsIGNvbGxhdG9yQ29uc3RydWN0b3IsIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+TnVtYmVyRm9ybWF0LCBudW1i
ZXJGb3JtYXRDb25zdHJ1Y3RvciwgRG9udEVudW0pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5EYXRlVGltZUZvcm1hdCwgZGF0ZVRpbWVGb3Jt
YXRDb25zdHJ1Y3RvciwgRG9udEVudW0pOworCisgICAgLy8gOC4yIEZ1bmN0aW9uIFByb3BlcnRp
ZXMgb2YgdGhlIEludGwgT2JqZWN0CisgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21h
NDAyLyNzZWMtZnVuY3Rpb24tcHJvcGVydGllcy1vZi10aGUtaW50bC1vYmplY3QKKyAgICBwdXRE
aXJlY3ROYXRpdmVGdW5jdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tU3Ry
aW5nKCZ2bSwgQVNDSUlMaXRlcmFsKCJnZXRDYW5vbmljYWxMb2NhbGVzIikpLCAxLCBJbnRsT2Jq
ZWN0RnVuY0dldENhbm9uaWNhbExvY2FsZXMsIE5vSW50cmluc2ljLCBEb250RW51bSk7CiB9CiAK
IFN0cnVjdHVyZSogSW50bE9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCkBAIC0xMDEwLDYgKzEwMTYs
MzMgQEAgVmVjdG9yPFN0cmluZz4gbnVtYmVyaW5nU3lzdGVtc0ZvckxvY2FsZShjb25zdCBTdHJp
bmcmIGxvY2FsZSkKICAgICByZXR1cm4gbnVtYmVyaW5nU3lzdGVtczsKIH0KIAorRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBJbnRsT2JqZWN0RnVuY0dldENhbm9uaWNhbExvY2FsZXMoRXhl
Y1N0YXRlKiBzdGF0ZSkKK3sKKyAgICBWTSYgdm0gPSBzdGF0ZS0+dm0oKTsKKyAgICBhdXRvIHNj
b3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1
Yi5pby9lY21hNDAyLyNzZWMtaW50bC5nZXRjYW5vbmljYWxsb2NhbGVzCisgICAgLy8gOC4yLjEg
SW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKGxvY2FsZXMpIChFQ01BLTQwMiA0LjApCisKKyAgICAv
LyAxLiBMZXQgbGwgYmUgPyBDYW5vbmljYWxpemVMb2NhbGVMaXN0KGxvY2FsZXMpLgorICAgIFZl
Y3RvcjxTdHJpbmc+IGxvY2FsZUxpc3QgPSBjYW5vbmljYWxpemVMb2NhbGVMaXN0KCpzdGF0ZSwg
c3RhdGUtPmFyZ3VtZW50KDApKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNv
ZGVkSlNWYWx1ZSgpKTsKKworICAgIC8vIDIuIFJldHVybiBDcmVhdGVBcnJheUZyb21MaXN0KGxs
KS4KKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gc3RhdGUtPmNhbGxlZSgpLT5n
bG9iYWxPYmplY3QoKTsKKyAgICBKU0FycmF5KiBsb2NhbGVBcnJheSA9IEpTQXJyYXk6OnRyeUNy
ZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRl
eGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIGlm
ICghbG9jYWxlQXJyYXkpIHsKKyAgICAgICAgdGhyb3dPdXRPZk1lbW9yeUVycm9yKHN0YXRlLCBz
Y29wZSk7CisgICAgICAgIHJldHVybiBlbmNvZGVkSlNWYWx1ZSgpOworICAgIH0KKworICAgIGF1
dG8gbGVuID0gbG9jYWxlTGlzdC5zaXplKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBs
ZW47ICsraSkgeworICAgICAgICBsb2NhbGVBcnJheS0+cHVzaChzdGF0ZSwganNTdHJpbmcoc3Rh
dGUsIGxvY2FsZUxpc3RbaV0pKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
ZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgfQorICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUobG9j
YWxlQXJyYXkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogI2VuZGlmIC8vIEVOQUJMRShJ
TlRMKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGZiYzQ5MDY2YmU5MDc2ZTlmNDYxMjQzNTk5MjBmNWEyN2MwYzUzYTcuLjU1
ZTE1Nzc0NmM5MjIyOWFmNjhmMDAwZjMxNzY1MjlkODkzNjdhYzcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxNi0wOS0yOSAgQW5keSBWYW5XYWdvbmVyICA8dGhldGFsZWNyYWZ0ZXJAZ21haWwu
Y29tPgorCisgICAgICAgIFtJTlRMXSBJbXBsZW1lbnQgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI3NjgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGpzL2lu
dGwtZXhwZWN0ZWQudHh0OiBBZGRlZCB0ZXN0cyBmb3IgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVz
CisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL2ludGwuanM6IEFkZGVkIHRlc3QgZm9yIEludGwu
Z2V0Q2Fub25pY2FsTG9jYWxlcworCiAyMDE2LTA5LTI5ICBKaWV3ZW4gVGFuICA8amlld2VuX3Rh
bkBhcHBsZS5jb20+CiAKICAgICAgICAgRXhwb3NlIENyeXB0b0tleSB0byB3ZWIgd29ya2Vycwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvaW50bC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9qcy9pbnRsLWV4cGVjdGVkLnR4dAppbmRleCBhYzRiMDQ0ODYxZjAxZDVkMzZmN2Q0YTNmNzYz
N2VlZTc2YWU3NjExLi5hZGVlMjY4NzE4NGMwMmY5OGY1NzZkNjE5OTcxOWY5YjJiYTg1NTUzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9pbnRsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9qcy9pbnRsLWV4cGVjdGVkLnR4dApAQCAtMTIsNiArMTIsNTIgQEAgUEFTUyBJbnRsKCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogSW50bCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdJ
bnRsKCknLCAnSW4KIFBBU1MgT2JqZWN0LmtleXMoSW50bCkubGVuZ3RoIGlzIDAKIFBBU1MgZGVs
ZXRlIEludGw7IGlzIHRydWUKIFBBU1MgJ0ludGwnIGluIGdsb2JhbCgpIGlzIGZhbHNlCitQQVNT
IEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcy5sZW5ndGggaXMgMQorUEFTUyBJbnRsLmdldENhbm9u
aWNhbExvY2FsZXMoKSBpcyBhbiBpbnN0YW5jZSBvZiBBcnJheQorUEFTUyBJbnRsLmdldENhbm9u
aWNhbExvY2FsZXMuY2FsbChudWxsLCAnZW4nKSBpcyBbICdlbicgXQorUEFTUyBJbnRsLmdldENh
bm9uaWNhbExvY2FsZXMuY2FsbCh7fSwgJ2VuJykgaXMgWyAnZW4nIF0KK1BBU1MgSW50bC5nZXRD
YW5vbmljYWxMb2NhbGVzLmNhbGwoMSwgJ2VuJykgaXMgWyAnZW4nIF0KK1BBU1MgSW50bC5nZXRD
YW5vbmljYWxMb2NhbGVzKDkpIGlzIFtdCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygn
ZW4nKSBpcyBbICdlbicgXQorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoeyBsZW5ndGg6
IDQsIDE6ICdlbicsIDA6ICdlcycsIDM6ICdkZScgfSkgaXMgWyAnZXMnLCAnZW4nLCAnZGUnIF0K
K1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKFsgJ2VuJywgJ3B0JywgJ2VuJywgJ2VzJyBd
KSBpcyBbICdlbicsICdwdCcsICdlcycgXQorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMo
J0VuLWxhVG4tdXMtdmFyaWFudDItdmFyaWFudDEtMWFiYy1VLWtvLXRSdWUtQS1hYS1hYWEteC1S
RVNFUlZFRCcpIGlzIFsgJ2VuLUxhdG4tVVMtdmFyaWFudDItdmFyaWFudDEtMWFiYy1hLWFhLWFh
YS11LWtvLXRydWUteC1yZXNlcnZlZCcgXQorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMo
J25vLWJvaycpIGlzIFsgJ25iJyBdCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnWC1z
b21lLXRoaW5nJykgaXMgWyAneC1zb21lLXRoaW5nJyBdCitQQVNTIEludGwuZ2V0Q2Fub25pY2Fs
TG9jYWxlcyhPYmplY3QuY3JlYXRlKG51bGwsIHsgbGVuZ3RoOiB7IGdldCgpIHsgdGhyb3cgRXJy
b3IoJ2EnKSB9IH0gfSkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogYS4KK1BBU1MgSW50bC5nZXRD
YW5vbmljYWxMb2NhbGVzKE9iamVjdC5jcmVhdGUobnVsbCwgeyBsZW5ndGg6IHsgdmFsdWU6IDEg
fSwgMDogeyBnZXQoKSB7IHRocm93IEVycm9yKCdiJykgfSB9IH0pKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IGIuCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyhbIHsgdG9TdHJpbmcoKSB7
IHRocm93IEVycm9yKCdjJykgfSB9IF0pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogYy4KK1BBU1Mg
SW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKFsgNSBdKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBsb2NhbGUgdmFsdWUgbXVzdCBiZSBhIHN0cmluZyBvciBvYmplY3QuCitQQVNTIEludGwuZ2V0
Q2Fub25pY2FsTG9jYWxlcygnJykgdGhyZXcgZXhjZXB0aW9uIFJhbmdlRXJyb3I6IGludmFsaWQg
bGFuZ3VhZ2UgdGFnOiAuCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnYScpIHRocmV3
IGV4Y2VwdGlvbiBSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogYS4KK1BBU1MgSW50
bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdhYmNkZWZnaGlqJykgdGhyZXcgZXhjZXB0aW9uIFJhbmdl
RXJyb3I6IGludmFsaWQgbGFuZ3VhZ2UgdGFnOiBhYmNkZWZnaGlqLgorUEFTUyBJbnRsLmdldENh
bm9uaWNhbExvY2FsZXMoJyMkJykgdGhyZXcgZXhjZXB0aW9uIFJhbmdlRXJyb3I6IGludmFsaWQg
bGFuZ3VhZ2UgdGFnOiAjJC4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlbi1ALWFi
YycpIHRocmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogZW4t
QC1hYmMuCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnZW4tdScpIHRocmV3IGV4Y2Vw
dGlvbiBSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogZW4tdS4KK1BBU1MgSW50bC5n
ZXRDYW5vbmljYWxMb2NhbGVzKCdlbi11LWtuLXRydWUtdS1rby10cnVlJykgdGhyZXcgZXhjZXB0
aW9uIFJhbmdlRXJyb3I6IGludmFsaWQgbGFuZ3VhZ2UgdGFnOiBlbi11LWtuLXRydWUtdS1rby10
cnVlLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ2VuLXgnKSB0aHJldyBleGNlcHRp
b24gUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5ndWFnZSB0YWc6IGVuLXguCitQQVNTIEludGwuZ2V0
Q2Fub25pY2FsTG9jYWxlcygnZW4tKicpIHRocmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9yOiBpbnZh
bGlkIGxhbmd1YWdlIHRhZzogZW4tKi4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdl
bi0nKSB0aHJldyBleGNlcHRpb24gUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5ndWFnZSB0YWc6IGVu
LS4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlbi0tVVMnKSB0aHJldyBleGNlcHRp
b24gUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5ndWFnZSB0YWc6IGVuLS1VUy4KK1BBU1MgSW50bC5n
ZXRDYW5vbmljYWxMb2NhbGVzKCdkZScpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBJ
bnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ2RlLURFJykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24u
CitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnREUtZGUnKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdjbW4nKSBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdjbW4tSGFucycp
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMo
J0NNTi1oQU5TJykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIEludGwuZ2V0Q2Fub25p
Y2FsTG9jYWxlcygnY21uLWhhbnMtY24nKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mg
SW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlcy00MTknKSBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlcy00MTktdS1udS1sYXRuLWN1LWJv
YicpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2Fs
ZXMoJ2kta2xpbmdvbicpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBJbnRsLmdldENh
bm9uaWNhbExvY2FsZXMoJ2Ntbi1oYW5zLWNuLXQtY2EtdS1jYS14LXQtdScpIGRpZCBub3QgdGhy
b3cgZXhjZXB0aW9uLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ2Vub2NoaWFuLWVu
b2NoaWFuJykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIEludGwuZ2V0Q2Fub25pY2Fs
TG9jYWxlcygnZGUtZ3JlZ29yeS11LWNhLWdyZWdvcnknKSBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdhYS1hLWZvby14LWEtZm9vLWJhcicp
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMo
J3gtZW4tVVMtMTIzNDUnKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgSW50bC5nZXRD
YW5vbmljYWxMb2NhbGVzKCd4LTEyMzQ1LTEyMzQ1LWVuLVVTJykgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygneC1lbi1VUy0xMjM0NS0xMjM0
NScpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2Fs
ZXMoJ3gtZW4tdS1mb28nKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgSW50bC5nZXRD
YW5vbmljYWxMb2NhbGVzKCd4LWVuLXUtZm9vLXUtYmFyJykgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9pbnRsLmpzIGIvTGF5b3V0VGVz
dHMvanMvc2NyaXB0LXRlc3RzL2ludGwuanMKaW5kZXggYmNhNjIwYzQwMGE5ODhhN2E5ZjI4NDEz
NTE5NmY3NTNkMjMxZjU0Yy4uYjkzYTE3NWIwMjZlMTlmOWYzMDE3ZGJhODJjZmZmNGZhYTcyMmY4
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2ludGwuanMKKysrIGIv
TGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2ludGwuanMKQEAgLTMwLDMgKzMwLDcxIEBAIHNo
b3VsZEJlRmFsc2UoIidJbnRsJyBpbiBnbG9iYWwoKSIpOwogCiBJbnRsID0gX19JbnRsOwogCisv
LyA4LjIuMSBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMobG9jYWxlcykKKworLy8gVGhlIHZhbHVl
IG9mIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgdGhlIGdldENhbm9uaWNhbExvY2FsZXMgbWV0aG9k
IGlzIDEuCitzaG91bGRCZSgiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzLmxlbmd0aCIsICIxIik7
CisKKy8vIFJldHVybnMgTG9jYWxlcworc2hvdWxkQmVUeXBlKCJJbnRsLmdldENhbm9uaWNhbExv
Y2FsZXMoKSIsICJBcnJheSIpOworLy8gRG9lc24ndCBjYXJlIGFib3V0IGB0aGlzYC4KK3Nob3Vs
ZEJlKCJJbnRsLmdldENhbm9uaWNhbExvY2FsZXMuY2FsbChudWxsLCAnZW4nKSIsICJbICdlbicg
XSIpOworc2hvdWxkQmUoIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcy5jYWxsKHt9LCAnZW4nKSIs
ICJbICdlbicgXSIpOworc2hvdWxkQmUoIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcy5jYWxsKDEs
ICdlbicpIiwgIlsgJ2VuJyBdIik7CisvLyBJZ25vcmVzIG5vbi1vYmplY3QsIG5vbi1zdHJpbmcg
bGlzdC4KK3Nob3VsZEJlKCJJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoOSkiLCAiW10iKTsKKy8v
IE1ha2VzIGFuIGFycmF5IG9mIHRhZ3MuCitzaG91bGRCZSgiSW50bC5nZXRDYW5vbmljYWxMb2Nh
bGVzKCdlbicpIiwgIlsgJ2VuJyBdIik7CisvLyBIYW5kbGVzIGFycmF5LWxpa2Ugb2JqZWN0cyB3
aXRoIGhvbGVzLgorc2hvdWxkQmUoIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyh7IGxlbmd0aDog
NCwgMTogJ2VuJywgMDogJ2VzJywgMzogJ2RlJyB9KSIsICJbICdlcycsICdlbicsICdkZScgXSIp
OworLy8gRGVkdXBsaWNhdGVzIHRhZ3MuCitzaG91bGRCZSgiSW50bC5nZXRDYW5vbmljYWxMb2Nh
bGVzKFsgJ2VuJywgJ3B0JywgJ2VuJywgJ2VzJyBdKSIsICJbICdlbicsICdwdCcsICdlcycgXSIp
OworLy8gQ2Fub25pY2FsaXplcyB0YWdzLgorc2hvdWxkQmUoIkludGwuZ2V0Q2Fub25pY2FsTG9j
YWxlcygnRW4tbGFUbi11cy12YXJpYW50Mi12YXJpYW50MS0xYWJjLVUta28tdFJ1ZS1BLWFhLWFh
YS14LVJFU0VSVkVEJykiLCAiWyAnZW4tTGF0bi1VUy12YXJpYW50Mi12YXJpYW50MS0xYWJjLWEt
YWEtYWFhLXUta28tdHJ1ZS14LXJlc2VydmVkJyBdIik7CisvLyBSZXBsYWNlcyBvdXRkYXRlZCB0
YWdzLgorc2hvdWxkQmUoIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnbm8tYm9rJykiLCAiWyAn
bmInIF0iKTsKKy8vIENhbm9uaWNhbGl6ZXMgcHJpdmF0ZSB0YWdzLgorc2hvdWxkQmUoIkludGwu
Z2V0Q2Fub25pY2FsTG9jYWxlcygnWC1zb21lLXRoaW5nJykiLCAiWyAneC1zb21lLXRoaW5nJyBd
Iik7CisvLyBUaHJvd3Mgb24gcHJvYmxlbXMgd2l0aCBsZW5ndGgsIGdldCwgb3IgdG9TdHJpbmcu
CitzaG91bGRUaHJvdygiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKE9iamVjdC5jcmVhdGUobnVs
bCwgeyBsZW5ndGg6IHsgZ2V0KCkgeyB0aHJvdyBFcnJvcignYScpIH0gfSB9KSkiLCAiJ0Vycm9y
OiBhJyIpOworc2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyhPYmplY3QuY3Jl
YXRlKG51bGwsIHsgbGVuZ3RoOiB7IHZhbHVlOiAxIH0sIDA6IHsgZ2V0KCkgeyB0aHJvdyBFcnJv
cignYicpIH0gfSB9KSkiLCAiJ0Vycm9yOiBiJyIpOworc2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fu
b25pY2FsTG9jYWxlcyhbIHsgdG9TdHJpbmcoKSB7IHRocm93IEVycm9yKCdjJykgfSB9IF0pIiwg
IidFcnJvcjogYyciKTsKKy8vIFRocm93cyBvbiBiYWQgdGFncy4KK3Nob3VsZFRocm93KCJJbnRs
LmdldENhbm9uaWNhbExvY2FsZXMoWyA1IF0pIiwgIidUeXBlRXJyb3I6IGxvY2FsZSB2YWx1ZSBt
dXN0IGJlIGEgc3RyaW5nIG9yIG9iamVjdCciKTsKK3Nob3VsZFRocm93KCJJbnRsLmdldENhbm9u
aWNhbExvY2FsZXMoJycpIiwgIidSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogJyIp
Oworc2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnYScpIiwgIidSYW5nZUVy
cm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogYSciKTsKK3Nob3VsZFRocm93KCJJbnRsLmdldENh
bm9uaWNhbExvY2FsZXMoJ2FiY2RlZmdoaWonKSIsICInUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5n
dWFnZSB0YWc6IGFiY2RlZmdoaWonIik7CitzaG91bGRUaHJvdygiSW50bC5nZXRDYW5vbmljYWxM
b2NhbGVzKCcjJCcpIiwgIidSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogIyQnIik7
CitzaG91bGRUaHJvdygiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlbi1ALWFiYycpIiwgIidS
YW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogZW4tQC1hYmMnIik7CitzaG91bGRUaHJv
dygiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlbi11JykiLCAiJ1JhbmdlRXJyb3I6IGludmFs
aWQgbGFuZ3VhZ2UgdGFnOiBlbi11JyIpOworc2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fub25pY2Fs
TG9jYWxlcygnZW4tdS1rbi10cnVlLXUta28tdHJ1ZScpIiwgIidSYW5nZUVycm9yOiBpbnZhbGlk
IGxhbmd1YWdlIHRhZzogZW4tdS1rbi10cnVlLXUta28tdHJ1ZSciKTsKK3Nob3VsZFRocm93KCJJ
bnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ2VuLXgnKSIsICInUmFuZ2VFcnJvcjogaW52YWxpZCBs
YW5ndWFnZSB0YWc6IGVuLXgnIik7CitzaG91bGRUaHJvdygiSW50bC5nZXRDYW5vbmljYWxMb2Nh
bGVzKCdlbi0qJykiLCAiJ1JhbmdlRXJyb3I6IGludmFsaWQgbGFuZ3VhZ2UgdGFnOiBlbi0qJyIp
Oworc2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnZW4tJykiLCAiJ1Jhbmdl
RXJyb3I6IGludmFsaWQgbGFuZ3VhZ2UgdGFnOiBlbi0nIik7CitzaG91bGRUaHJvdygiSW50bC5n
ZXRDYW5vbmljYWxMb2NhbGVzKCdlbi0tVVMnKSIsICInUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5n
dWFnZSB0YWc6IGVuLS1VUyciKTsKKy8vIEFjY2VwdHMgdmFsaWQgdGFncwordmFyIHZhbGlkTGFu
Z3VhZ2VUYWdzID0gWworICAgICJkZSIsIC8vIElTTyA2MzkgbGFuZ3VhZ2UgY29kZQorICAgICJk
ZS1ERSIsIC8vICsgSVNPIDMxNjYtMSBjb3VudHJ5IGNvZGUKKyAgICAiREUtZGUiLCAvLyB0YWdz
IGFyZSBjYXNlLWluc2Vuc2l0aXZlCisgICAgImNtbiIsIC8vIElTTyA2MzkgbGFuZ3VhZ2UgY29k
ZQorICAgICJjbW4tSGFucyIsIC8vICsgc2NyaXB0IGNvZGUKKyAgICAiQ01OLWhBTlMiLCAvLyB0
YWdzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCisgICAgImNtbi1oYW5zLWNuIiwgLy8gKyBJU08gMzE2
Ni0xIGNvdW50cnkgY29kZQorICAgICJlcy00MTkiLCAvLyArIFVOIE0uNDkgcmVnaW9uIGNvZGUK
KyAgICAiZXMtNDE5LXUtbnUtbGF0bi1jdS1ib2IiLCAvLyArIFVuaWNvZGUgbG9jYWxlIGV4dGVu
c2lvbiBzZXF1ZW5jZQorICAgICJpLWtsaW5nb24iLCAvLyBncmFuZGZhdGhlcmVkIHRhZworICAg
ICJjbW4taGFucy1jbi10LWNhLXUtY2EteC10LXUiLCAvLyBzaW5nbGV0b24gc3VidGFncyBjYW4g
YWxzbyBiZSB1c2VkIGFzIHByaXZhdGUgdXNlIHN1YnRhZ3MKKyAgICAiZW5vY2hpYW4tZW5vY2hp
YW4iLCAvLyBsYW5ndWFnZSBhbmQgdmFyaWFudCBzdWJ0YWdzIG1heSBiZSB0aGUgc2FtZQorICAg
ICJkZS1ncmVnb3J5LXUtY2EtZ3JlZ29yeSIsIC8vIHZhcmlhbnQgYW5kIGV4dGVuc2lvbiBzdWJ0
YWdzIG1heSBiZSB0aGUgc2FtZQorICAgICJhYS1hLWZvby14LWEtZm9vLWJhciIsIC8vIHZhcmlh
bnQgc3VidGFncyBjYW4gYWxzbyBiZSB1c2VkIGFzIHByaXZhdGUgdXNlIHN1YnRhZ3MKKyAgICAi
eC1lbi1VUy0xMjM0NSIsIC8vIGFueXRoaW5nIGdvZXMgaW4gcHJpdmF0ZSB1c2UgdGFncworICAg
ICJ4LTEyMzQ1LTEyMzQ1LWVuLVVTIiwKKyAgICAieC1lbi1VUy0xMjM0NS0xMjM0NSIsCisgICAg
IngtZW4tdS1mb28iLAorICAgICJ4LWVuLXUtZm9vLXUtYmFyIgorXTsKK2ZvciAodmFyIHZhbGlk
TGFuZ3VhZ2VUYWcgb2YgdmFsaWRMYW5ndWFnZVRhZ3MpIHsKKyAgICBzaG91bGROb3RUaHJvdygi
SW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCciICsgdmFsaWRMYW5ndWFnZVRhZyArICInKSIpOwor
fQorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290330</attachid>
            <date>2016-09-30 07:07:59 -0700</date>
            <delta_ts>2016-10-05 14:51:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162768-20160930080455.patch</filename>
            <type>text/plain</type>
            <size>12943</size>
            <attacher name="Andy VanWagoner">andy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
MjU1YzY3MTRlMmE1ZDkxNThmNDY0MTkxZmFlNTA2MTNhN2QyYTllLi5kOTg2MTgzMGI0NzllNTg0
ZDc1NWVkNDM2NDg2NWJhMWJjYTk1ODFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNi0wOS0yOSAgQW5keSBWYW5XYWdvbmVyICA8dGhldGFsZWNyYWZ0ZXJA
Z21haWwuY29tPgorCisgICAgICAgIFtJTlRMXSBJbXBsZW1lbnQgSW50bC5nZXRDYW5vbmljYWxM
b2NhbGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjI3NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bXBsZW1lbnQgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzIGZyb20gRUNNQSA0MDIgKDNyZCBlZGl0
aW9uKQorICAgICAgICBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTQwMi8zLjAv
aW5kZXguaHRtbCNzZWMtaW50bC5nZXRjYW5vbmljYWxsb2NhbGVzCisKKyAgICAgICAgUmV1c2Ug
Y2Fub25pY2FsaXplTG9jYWxlTGlzdCBhbmQgY29weSB0aGUgcmVzdWx0cyBpbnRvIGEgbmV3IEpT
QXJyYXkuCisKKyAgICAgICAgKiBydW50aW1lL0ludGxPYmplY3QuY3BwOgorICAgICAgICAoSlND
OjpJbnRsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OmludGxPYmplY3RG
dW5jR2V0Q2Fub25pY2FsTG9jYWxlcyk6CisKIDIwMTYtMDktMjkgIEZpbGlwIFBpemxvICA8ZnBp
emxvQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMDY1NTUpOiBJdCBtYWRlIERy
b21hZW8vanNsaWItc3R5bGUtanF1ZXJ5Lmh0bWwgY3Jhc2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bE9iamVjdC5jcHAKaW5kZXggYzNkZTdlZDEzMzM4MTIyYTk5ZjFlZmU2
ZGMyMjFhZWNiOWFjNGJjMS4uMzgwOTBlZDc1MDY4OGYxNjdhODM0ZmNhY2IyNmM5NTY0MDJjNjJh
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVjdC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVjdC5jcHAKQEAg
LTU2LDYgKzU2LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKIFNUQVRJQ19BU1NFUlRfSVNfVFJJVklB
TExZX0RFU1RSVUNUSUJMRShJbnRsT2JqZWN0KTsKIAorc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgaW50bE9iamVjdEZ1bmNHZXRDYW5vbmljYWxMb2NhbGVzKEV4ZWNTdGF0ZSop
OworCiB9CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtMTEwLDYgKzExMiwxMCBAQCB2b2lkIEludGxP
YmplY3Q6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
Q29sbGF0b3IsIGNvbGxhdG9yQ29uc3RydWN0b3IsIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+TnVtYmVyRm9ybWF0LCBudW1i
ZXJGb3JtYXRDb25zdHJ1Y3RvciwgRG9udEVudW0pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5EYXRlVGltZUZvcm1hdCwgZGF0ZVRpbWVGb3Jt
YXRDb25zdHJ1Y3RvciwgRG9udEVudW0pOworCisgICAgLy8gOC4yIEZ1bmN0aW9uIFByb3BlcnRp
ZXMgb2YgdGhlIEludGwgT2JqZWN0CisgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21h
NDAyLyNzZWMtZnVuY3Rpb24tcHJvcGVydGllcy1vZi10aGUtaW50bC1vYmplY3QKKyAgICBwdXRE
aXJlY3ROYXRpdmVGdW5jdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tU3Ry
aW5nKCZ2bSwgQVNDSUlMaXRlcmFsKCJnZXRDYW5vbmljYWxMb2NhbGVzIikpLCAxLCBpbnRsT2Jq
ZWN0RnVuY0dldENhbm9uaWNhbExvY2FsZXMsIE5vSW50cmluc2ljLCBEb250RW51bSk7CiB9CiAK
IFN0cnVjdHVyZSogSW50bE9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCkBAIC0xMDEwLDYgKzEwMTYs
MzMgQEAgVmVjdG9yPFN0cmluZz4gbnVtYmVyaW5nU3lzdGVtc0ZvckxvY2FsZShjb25zdCBTdHJp
bmcmIGxvY2FsZSkKICAgICByZXR1cm4gbnVtYmVyaW5nU3lzdGVtczsKIH0KIAorRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBpbnRsT2JqZWN0RnVuY0dldENhbm9uaWNhbExvY2FsZXMoRXhl
Y1N0YXRlKiBzdGF0ZSkKK3sKKyAgICBWTSYgdm0gPSBzdGF0ZS0+dm0oKTsKKyAgICBhdXRvIHNj
b3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1
Yi5pby9lY21hNDAyLyNzZWMtaW50bC5nZXRjYW5vbmljYWxsb2NhbGVzCisgICAgLy8gOC4yLjEg
SW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKGxvY2FsZXMpIChFQ01BLTQwMiA0LjApCisKKyAgICAv
LyAxLiBMZXQgbGwgYmUgPyBDYW5vbmljYWxpemVMb2NhbGVMaXN0KGxvY2FsZXMpLgorICAgIFZl
Y3RvcjxTdHJpbmc+IGxvY2FsZUxpc3QgPSBjYW5vbmljYWxpemVMb2NhbGVMaXN0KCpzdGF0ZSwg
c3RhdGUtPmFyZ3VtZW50KDApKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNv
ZGVkSlNWYWx1ZSgpKTsKKworICAgIC8vIDIuIFJldHVybiBDcmVhdGVBcnJheUZyb21MaXN0KGxs
KS4KKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gc3RhdGUtPmNhbGxlZSgpLT5n
bG9iYWxPYmplY3QoKTsKKyAgICBKU0FycmF5KiBsb2NhbGVBcnJheSA9IEpTQXJyYXk6OnRyeUNy
ZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRl
eGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIGlm
ICghbG9jYWxlQXJyYXkpIHsKKyAgICAgICAgdGhyb3dPdXRPZk1lbW9yeUVycm9yKHN0YXRlLCBz
Y29wZSk7CisgICAgICAgIHJldHVybiBlbmNvZGVkSlNWYWx1ZSgpOworICAgIH0KKworICAgIGF1
dG8gbGVuID0gbG9jYWxlTGlzdC5zaXplKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBs
ZW47ICsraSkgeworICAgICAgICBsb2NhbGVBcnJheS0+cHVzaChzdGF0ZSwganNTdHJpbmcoc3Rh
dGUsIGxvY2FsZUxpc3RbaV0pKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
ZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgfQorICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUobG9j
YWxlQXJyYXkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogI2VuZGlmIC8vIEVOQUJMRShJ
TlRMKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGZiYzQ5MDY2YmU5MDc2ZTlmNDYxMjQzNTk5MjBmNWEyN2MwYzUzYTcuLjU1
ZTE1Nzc0NmM5MjIyOWFmNjhmMDAwZjMxNzY1MjlkODkzNjdhYzcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxNi0wOS0yOSAgQW5keSBWYW5XYWdvbmVyICA8dGhldGFsZWNyYWZ0ZXJAZ21haWwu
Y29tPgorCisgICAgICAgIFtJTlRMXSBJbXBsZW1lbnQgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI3NjgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGpzL2lu
dGwtZXhwZWN0ZWQudHh0OiBBZGRlZCB0ZXN0cyBmb3IgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVz
CisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL2ludGwuanM6IEFkZGVkIHRlc3QgZm9yIEludGwu
Z2V0Q2Fub25pY2FsTG9jYWxlcworCiAyMDE2LTA5LTI5ICBKaWV3ZW4gVGFuICA8amlld2VuX3Rh
bkBhcHBsZS5jb20+CiAKICAgICAgICAgRXhwb3NlIENyeXB0b0tleSB0byB3ZWIgd29ya2Vycwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvaW50bC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9qcy9pbnRsLWV4cGVjdGVkLnR4dAppbmRleCBhYzRiMDQ0ODYxZjAxZDVkMzZmN2Q0YTNmNzYz
N2VlZTc2YWU3NjExLi5hZGVlMjY4NzE4NGMwMmY5OGY1NzZkNjE5OTcxOWY5YjJiYTg1NTUzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9pbnRsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9qcy9pbnRsLWV4cGVjdGVkLnR4dApAQCAtMTIsNiArMTIsNTIgQEAgUEFTUyBJbnRsKCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogSW50bCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdJ
bnRsKCknLCAnSW4KIFBBU1MgT2JqZWN0LmtleXMoSW50bCkubGVuZ3RoIGlzIDAKIFBBU1MgZGVs
ZXRlIEludGw7IGlzIHRydWUKIFBBU1MgJ0ludGwnIGluIGdsb2JhbCgpIGlzIGZhbHNlCitQQVNT
IEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcy5sZW5ndGggaXMgMQorUEFTUyBJbnRsLmdldENhbm9u
aWNhbExvY2FsZXMoKSBpcyBhbiBpbnN0YW5jZSBvZiBBcnJheQorUEFTUyBJbnRsLmdldENhbm9u
aWNhbExvY2FsZXMuY2FsbChudWxsLCAnZW4nKSBpcyBbICdlbicgXQorUEFTUyBJbnRsLmdldENh
bm9uaWNhbExvY2FsZXMuY2FsbCh7fSwgJ2VuJykgaXMgWyAnZW4nIF0KK1BBU1MgSW50bC5nZXRD
YW5vbmljYWxMb2NhbGVzLmNhbGwoMSwgJ2VuJykgaXMgWyAnZW4nIF0KK1BBU1MgSW50bC5nZXRD
YW5vbmljYWxMb2NhbGVzKDkpIGlzIFtdCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygn
ZW4nKSBpcyBbICdlbicgXQorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoeyBsZW5ndGg6
IDQsIDE6ICdlbicsIDA6ICdlcycsIDM6ICdkZScgfSkgaXMgWyAnZXMnLCAnZW4nLCAnZGUnIF0K
K1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKFsgJ2VuJywgJ3B0JywgJ2VuJywgJ2VzJyBd
KSBpcyBbICdlbicsICdwdCcsICdlcycgXQorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMo
J0VuLWxhVG4tdXMtdmFyaWFudDItdmFyaWFudDEtMWFiYy1VLWtvLXRSdWUtQS1hYS1hYWEteC1S
RVNFUlZFRCcpIGlzIFsgJ2VuLUxhdG4tVVMtdmFyaWFudDItdmFyaWFudDEtMWFiYy1hLWFhLWFh
YS11LWtvLXRydWUteC1yZXNlcnZlZCcgXQorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMo
J25vLWJvaycpIGlzIFsgJ25iJyBdCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnWC1z
b21lLXRoaW5nJykgaXMgWyAneC1zb21lLXRoaW5nJyBdCitQQVNTIEludGwuZ2V0Q2Fub25pY2Fs
TG9jYWxlcyhPYmplY3QuY3JlYXRlKG51bGwsIHsgbGVuZ3RoOiB7IGdldCgpIHsgdGhyb3cgRXJy
b3IoJ2EnKSB9IH0gfSkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogYS4KK1BBU1MgSW50bC5nZXRD
YW5vbmljYWxMb2NhbGVzKE9iamVjdC5jcmVhdGUobnVsbCwgeyBsZW5ndGg6IHsgdmFsdWU6IDEg
fSwgMDogeyBnZXQoKSB7IHRocm93IEVycm9yKCdiJykgfSB9IH0pKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IGIuCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyhbIHsgdG9TdHJpbmcoKSB7
IHRocm93IEVycm9yKCdjJykgfSB9IF0pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogYy4KK1BBU1Mg
SW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKFsgNSBdKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBsb2NhbGUgdmFsdWUgbXVzdCBiZSBhIHN0cmluZyBvciBvYmplY3QuCitQQVNTIEludGwuZ2V0
Q2Fub25pY2FsTG9jYWxlcygnJykgdGhyZXcgZXhjZXB0aW9uIFJhbmdlRXJyb3I6IGludmFsaWQg
bGFuZ3VhZ2UgdGFnOiAuCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnYScpIHRocmV3
IGV4Y2VwdGlvbiBSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogYS4KK1BBU1MgSW50
bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdhYmNkZWZnaGlqJykgdGhyZXcgZXhjZXB0aW9uIFJhbmdl
RXJyb3I6IGludmFsaWQgbGFuZ3VhZ2UgdGFnOiBhYmNkZWZnaGlqLgorUEFTUyBJbnRsLmdldENh
bm9uaWNhbExvY2FsZXMoJyMkJykgdGhyZXcgZXhjZXB0aW9uIFJhbmdlRXJyb3I6IGludmFsaWQg
bGFuZ3VhZ2UgdGFnOiAjJC4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlbi1ALWFi
YycpIHRocmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogZW4t
QC1hYmMuCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnZW4tdScpIHRocmV3IGV4Y2Vw
dGlvbiBSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogZW4tdS4KK1BBU1MgSW50bC5n
ZXRDYW5vbmljYWxMb2NhbGVzKCdlbi11LWtuLXRydWUtdS1rby10cnVlJykgdGhyZXcgZXhjZXB0
aW9uIFJhbmdlRXJyb3I6IGludmFsaWQgbGFuZ3VhZ2UgdGFnOiBlbi11LWtuLXRydWUtdS1rby10
cnVlLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ2VuLXgnKSB0aHJldyBleGNlcHRp
b24gUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5ndWFnZSB0YWc6IGVuLXguCitQQVNTIEludGwuZ2V0
Q2Fub25pY2FsTG9jYWxlcygnZW4tKicpIHRocmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9yOiBpbnZh
bGlkIGxhbmd1YWdlIHRhZzogZW4tKi4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdl
bi0nKSB0aHJldyBleGNlcHRpb24gUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5ndWFnZSB0YWc6IGVu
LS4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlbi0tVVMnKSB0aHJldyBleGNlcHRp
b24gUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5ndWFnZSB0YWc6IGVuLS1VUy4KK1BBU1MgSW50bC5n
ZXRDYW5vbmljYWxMb2NhbGVzKCdkZScpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBJ
bnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ2RlLURFJykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24u
CitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnREUtZGUnKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdjbW4nKSBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdjbW4tSGFucycp
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMo
J0NNTi1oQU5TJykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIEludGwuZ2V0Q2Fub25p
Y2FsTG9jYWxlcygnY21uLWhhbnMtY24nKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mg
SW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlcy00MTknKSBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlcy00MTktdS1udS1sYXRuLWN1LWJv
YicpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2Fs
ZXMoJ2kta2xpbmdvbicpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBJbnRsLmdldENh
bm9uaWNhbExvY2FsZXMoJ2Ntbi1oYW5zLWNuLXQtY2EtdS1jYS14LXQtdScpIGRpZCBub3QgdGhy
b3cgZXhjZXB0aW9uLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ2Vub2NoaWFuLWVu
b2NoaWFuJykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIEludGwuZ2V0Q2Fub25pY2Fs
TG9jYWxlcygnZGUtZ3JlZ29yeS11LWNhLWdyZWdvcnknKSBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdhYS1hLWZvby14LWEtZm9vLWJhcicp
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMo
J3gtZW4tVVMtMTIzNDUnKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgSW50bC5nZXRD
YW5vbmljYWxMb2NhbGVzKCd4LTEyMzQ1LTEyMzQ1LWVuLVVTJykgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygneC1lbi1VUy0xMjM0NS0xMjM0
NScpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2Fs
ZXMoJ3gtZW4tdS1mb28nKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgSW50bC5nZXRD
YW5vbmljYWxMb2NhbGVzKCd4LWVuLXUtZm9vLXUtYmFyJykgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9pbnRsLmpzIGIvTGF5b3V0VGVz
dHMvanMvc2NyaXB0LXRlc3RzL2ludGwuanMKaW5kZXggYmNhNjIwYzQwMGE5ODhhN2E5ZjI4NDEz
NTE5NmY3NTNkMjMxZjU0Yy4uYjkzYTE3NWIwMjZlMTlmOWYzMDE3ZGJhODJjZmZmNGZhYTcyMmY4
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2ludGwuanMKKysrIGIv
TGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2ludGwuanMKQEAgLTMwLDMgKzMwLDcxIEBAIHNo
b3VsZEJlRmFsc2UoIidJbnRsJyBpbiBnbG9iYWwoKSIpOwogCiBJbnRsID0gX19JbnRsOwogCisv
LyA4LjIuMSBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMobG9jYWxlcykKKworLy8gVGhlIHZhbHVl
IG9mIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgdGhlIGdldENhbm9uaWNhbExvY2FsZXMgbWV0aG9k
IGlzIDEuCitzaG91bGRCZSgiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzLmxlbmd0aCIsICIxIik7
CisKKy8vIFJldHVybnMgTG9jYWxlcworc2hvdWxkQmVUeXBlKCJJbnRsLmdldENhbm9uaWNhbExv
Y2FsZXMoKSIsICJBcnJheSIpOworLy8gRG9lc24ndCBjYXJlIGFib3V0IGB0aGlzYC4KK3Nob3Vs
ZEJlKCJJbnRsLmdldENhbm9uaWNhbExvY2FsZXMuY2FsbChudWxsLCAnZW4nKSIsICJbICdlbicg
XSIpOworc2hvdWxkQmUoIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcy5jYWxsKHt9LCAnZW4nKSIs
ICJbICdlbicgXSIpOworc2hvdWxkQmUoIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcy5jYWxsKDEs
ICdlbicpIiwgIlsgJ2VuJyBdIik7CisvLyBJZ25vcmVzIG5vbi1vYmplY3QsIG5vbi1zdHJpbmcg
bGlzdC4KK3Nob3VsZEJlKCJJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoOSkiLCAiW10iKTsKKy8v
IE1ha2VzIGFuIGFycmF5IG9mIHRhZ3MuCitzaG91bGRCZSgiSW50bC5nZXRDYW5vbmljYWxMb2Nh
bGVzKCdlbicpIiwgIlsgJ2VuJyBdIik7CisvLyBIYW5kbGVzIGFycmF5LWxpa2Ugb2JqZWN0cyB3
aXRoIGhvbGVzLgorc2hvdWxkQmUoIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyh7IGxlbmd0aDog
NCwgMTogJ2VuJywgMDogJ2VzJywgMzogJ2RlJyB9KSIsICJbICdlcycsICdlbicsICdkZScgXSIp
OworLy8gRGVkdXBsaWNhdGVzIHRhZ3MuCitzaG91bGRCZSgiSW50bC5nZXRDYW5vbmljYWxMb2Nh
bGVzKFsgJ2VuJywgJ3B0JywgJ2VuJywgJ2VzJyBdKSIsICJbICdlbicsICdwdCcsICdlcycgXSIp
OworLy8gQ2Fub25pY2FsaXplcyB0YWdzLgorc2hvdWxkQmUoIkludGwuZ2V0Q2Fub25pY2FsTG9j
YWxlcygnRW4tbGFUbi11cy12YXJpYW50Mi12YXJpYW50MS0xYWJjLVUta28tdFJ1ZS1BLWFhLWFh
YS14LVJFU0VSVkVEJykiLCAiWyAnZW4tTGF0bi1VUy12YXJpYW50Mi12YXJpYW50MS0xYWJjLWEt
YWEtYWFhLXUta28tdHJ1ZS14LXJlc2VydmVkJyBdIik7CisvLyBSZXBsYWNlcyBvdXRkYXRlZCB0
YWdzLgorc2hvdWxkQmUoIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnbm8tYm9rJykiLCAiWyAn
bmInIF0iKTsKKy8vIENhbm9uaWNhbGl6ZXMgcHJpdmF0ZSB0YWdzLgorc2hvdWxkQmUoIkludGwu
Z2V0Q2Fub25pY2FsTG9jYWxlcygnWC1zb21lLXRoaW5nJykiLCAiWyAneC1zb21lLXRoaW5nJyBd
Iik7CisvLyBUaHJvd3Mgb24gcHJvYmxlbXMgd2l0aCBsZW5ndGgsIGdldCwgb3IgdG9TdHJpbmcu
CitzaG91bGRUaHJvdygiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKE9iamVjdC5jcmVhdGUobnVs
bCwgeyBsZW5ndGg6IHsgZ2V0KCkgeyB0aHJvdyBFcnJvcignYScpIH0gfSB9KSkiLCAiJ0Vycm9y
OiBhJyIpOworc2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyhPYmplY3QuY3Jl
YXRlKG51bGwsIHsgbGVuZ3RoOiB7IHZhbHVlOiAxIH0sIDA6IHsgZ2V0KCkgeyB0aHJvdyBFcnJv
cignYicpIH0gfSB9KSkiLCAiJ0Vycm9yOiBiJyIpOworc2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fu
b25pY2FsTG9jYWxlcyhbIHsgdG9TdHJpbmcoKSB7IHRocm93IEVycm9yKCdjJykgfSB9IF0pIiwg
IidFcnJvcjogYyciKTsKKy8vIFRocm93cyBvbiBiYWQgdGFncy4KK3Nob3VsZFRocm93KCJJbnRs
LmdldENhbm9uaWNhbExvY2FsZXMoWyA1IF0pIiwgIidUeXBlRXJyb3I6IGxvY2FsZSB2YWx1ZSBt
dXN0IGJlIGEgc3RyaW5nIG9yIG9iamVjdCciKTsKK3Nob3VsZFRocm93KCJJbnRsLmdldENhbm9u
aWNhbExvY2FsZXMoJycpIiwgIidSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogJyIp
Oworc2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnYScpIiwgIidSYW5nZUVy
cm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogYSciKTsKK3Nob3VsZFRocm93KCJJbnRsLmdldENh
bm9uaWNhbExvY2FsZXMoJ2FiY2RlZmdoaWonKSIsICInUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5n
dWFnZSB0YWc6IGFiY2RlZmdoaWonIik7CitzaG91bGRUaHJvdygiSW50bC5nZXRDYW5vbmljYWxM
b2NhbGVzKCcjJCcpIiwgIidSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogIyQnIik7
CitzaG91bGRUaHJvdygiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlbi1ALWFiYycpIiwgIidS
YW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogZW4tQC1hYmMnIik7CitzaG91bGRUaHJv
dygiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlbi11JykiLCAiJ1JhbmdlRXJyb3I6IGludmFs
aWQgbGFuZ3VhZ2UgdGFnOiBlbi11JyIpOworc2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fub25pY2Fs
TG9jYWxlcygnZW4tdS1rbi10cnVlLXUta28tdHJ1ZScpIiwgIidSYW5nZUVycm9yOiBpbnZhbGlk
IGxhbmd1YWdlIHRhZzogZW4tdS1rbi10cnVlLXUta28tdHJ1ZSciKTsKK3Nob3VsZFRocm93KCJJ
bnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ2VuLXgnKSIsICInUmFuZ2VFcnJvcjogaW52YWxpZCBs
YW5ndWFnZSB0YWc6IGVuLXgnIik7CitzaG91bGRUaHJvdygiSW50bC5nZXRDYW5vbmljYWxMb2Nh
bGVzKCdlbi0qJykiLCAiJ1JhbmdlRXJyb3I6IGludmFsaWQgbGFuZ3VhZ2UgdGFnOiBlbi0qJyIp
Oworc2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnZW4tJykiLCAiJ1Jhbmdl
RXJyb3I6IGludmFsaWQgbGFuZ3VhZ2UgdGFnOiBlbi0nIik7CitzaG91bGRUaHJvdygiSW50bC5n
ZXRDYW5vbmljYWxMb2NhbGVzKCdlbi0tVVMnKSIsICInUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5n
dWFnZSB0YWc6IGVuLS1VUyciKTsKKy8vIEFjY2VwdHMgdmFsaWQgdGFncwordmFyIHZhbGlkTGFu
Z3VhZ2VUYWdzID0gWworICAgICJkZSIsIC8vIElTTyA2MzkgbGFuZ3VhZ2UgY29kZQorICAgICJk
ZS1ERSIsIC8vICsgSVNPIDMxNjYtMSBjb3VudHJ5IGNvZGUKKyAgICAiREUtZGUiLCAvLyB0YWdz
IGFyZSBjYXNlLWluc2Vuc2l0aXZlCisgICAgImNtbiIsIC8vIElTTyA2MzkgbGFuZ3VhZ2UgY29k
ZQorICAgICJjbW4tSGFucyIsIC8vICsgc2NyaXB0IGNvZGUKKyAgICAiQ01OLWhBTlMiLCAvLyB0
YWdzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCisgICAgImNtbi1oYW5zLWNuIiwgLy8gKyBJU08gMzE2
Ni0xIGNvdW50cnkgY29kZQorICAgICJlcy00MTkiLCAvLyArIFVOIE0uNDkgcmVnaW9uIGNvZGUK
KyAgICAiZXMtNDE5LXUtbnUtbGF0bi1jdS1ib2IiLCAvLyArIFVuaWNvZGUgbG9jYWxlIGV4dGVu
c2lvbiBzZXF1ZW5jZQorICAgICJpLWtsaW5nb24iLCAvLyBncmFuZGZhdGhlcmVkIHRhZworICAg
ICJjbW4taGFucy1jbi10LWNhLXUtY2EteC10LXUiLCAvLyBzaW5nbGV0b24gc3VidGFncyBjYW4g
YWxzbyBiZSB1c2VkIGFzIHByaXZhdGUgdXNlIHN1YnRhZ3MKKyAgICAiZW5vY2hpYW4tZW5vY2hp
YW4iLCAvLyBsYW5ndWFnZSBhbmQgdmFyaWFudCBzdWJ0YWdzIG1heSBiZSB0aGUgc2FtZQorICAg
ICJkZS1ncmVnb3J5LXUtY2EtZ3JlZ29yeSIsIC8vIHZhcmlhbnQgYW5kIGV4dGVuc2lvbiBzdWJ0
YWdzIG1heSBiZSB0aGUgc2FtZQorICAgICJhYS1hLWZvby14LWEtZm9vLWJhciIsIC8vIHZhcmlh
bnQgc3VidGFncyBjYW4gYWxzbyBiZSB1c2VkIGFzIHByaXZhdGUgdXNlIHN1YnRhZ3MKKyAgICAi
eC1lbi1VUy0xMjM0NSIsIC8vIGFueXRoaW5nIGdvZXMgaW4gcHJpdmF0ZSB1c2UgdGFncworICAg
ICJ4LTEyMzQ1LTEyMzQ1LWVuLVVTIiwKKyAgICAieC1lbi1VUy0xMjM0NS0xMjM0NSIsCisgICAg
IngtZW4tdS1mb28iLAorICAgICJ4LWVuLXUtZm9vLXUtYmFyIgorXTsKK2ZvciAodmFyIHZhbGlk
TGFuZ3VhZ2VUYWcgb2YgdmFsaWRMYW5ndWFnZVRhZ3MpIHsKKyAgICBzaG91bGROb3RUaHJvdygi
SW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCciICsgdmFsaWRMYW5ndWFnZVRhZyArICInKSIpOwor
fQorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290751</attachid>
            <date>2016-10-05 14:51:28 -0700</date>
            <delta_ts>2016-10-05 16:36:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162768-20161005154816.patch</filename>
            <type>text/plain</type>
            <size>12971</size>
            <attacher name="Andy VanWagoner">andy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
MjU1YzY3MTRlMmE1ZDkxNThmNDY0MTkxZmFlNTA2MTNhN2QyYTllLi5lOWM4ZDA0ODA3YWRmYTY3
MWE2Zjk0NTdjY2YxYjkxNDZkMWY0YmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNi0xMC0wNSAgQW5keSBWYW5XYWdvbmVyICA8dGhldGFsZWNyYWZ0ZXJA
Z21haWwuY29tPgorCisgICAgICAgIFtJTlRMXSBJbXBsZW1lbnQgSW50bC5nZXRDYW5vbmljYWxM
b2NhbGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjI3NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bXBsZW1lbnQgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzIGZyb20gRUNNQSA0MDIgKDNyZCBlZGl0
aW9uKQorICAgICAgICBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTQwMi8zLjAv
aW5kZXguaHRtbCNzZWMtaW50bC5nZXRjYW5vbmljYWxsb2NhbGVzCisKKyAgICAgICAgUmV1c2Ug
Y2Fub25pY2FsaXplTG9jYWxlTGlzdCBhbmQgY29weSB0aGUgcmVzdWx0cyBpbnRvIGEgbmV3IEpT
QXJyYXkuCisKKyAgICAgICAgKiBydW50aW1lL0ludGxPYmplY3QuY3BwOgorICAgICAgICAoSlND
OjpJbnRsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OmludGxPYmplY3RG
dW5jR2V0Q2Fub25pY2FsTG9jYWxlcyk6CisKIDIwMTYtMDktMjkgIEZpbGlwIFBpemxvICA8ZnBp
emxvQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMDY1NTUpOiBJdCBtYWRlIERy
b21hZW8vanNsaWItc3R5bGUtanF1ZXJ5Lmh0bWwgY3Jhc2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bE9iamVjdC5jcHAKaW5kZXggYzNkZTdlZDEzMzM4MTIyYTk5ZjFlZmU2
ZGMyMjFhZWNiOWFjNGJjMS4uZjQ3MmVjNjg1NDJlN2QwMGY3MmEzNTJiNDZjM2U4NmY5YWNmY2E3
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVjdC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVjdC5jcHAKQEAg
LTU2LDYgKzU2LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKIFNUQVRJQ19BU1NFUlRfSVNfVFJJVklB
TExZX0RFU1RSVUNUSUJMRShJbnRsT2JqZWN0KTsKIAorc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgaW50bE9iamVjdEZ1bmNHZXRDYW5vbmljYWxMb2NhbGVzKEV4ZWNTdGF0ZSop
OworCiB9CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtMTEwLDYgKzExMiwxMCBAQCB2b2lkIEludGxP
YmplY3Q6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
Q29sbGF0b3IsIGNvbGxhdG9yQ29uc3RydWN0b3IsIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+TnVtYmVyRm9ybWF0LCBudW1i
ZXJGb3JtYXRDb25zdHJ1Y3RvciwgRG9udEVudW0pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5EYXRlVGltZUZvcm1hdCwgZGF0ZVRpbWVGb3Jt
YXRDb25zdHJ1Y3RvciwgRG9udEVudW0pOworCisgICAgLy8gOC4yIEZ1bmN0aW9uIFByb3BlcnRp
ZXMgb2YgdGhlIEludGwgT2JqZWN0CisgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21h
NDAyLyNzZWMtZnVuY3Rpb24tcHJvcGVydGllcy1vZi10aGUtaW50bC1vYmplY3QKKyAgICBwdXRE
aXJlY3ROYXRpdmVGdW5jdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tU3Ry
aW5nKCZ2bSwgQVNDSUlMaXRlcmFsKCJnZXRDYW5vbmljYWxMb2NhbGVzIikpLCAxLCBpbnRsT2Jq
ZWN0RnVuY0dldENhbm9uaWNhbExvY2FsZXMsIE5vSW50cmluc2ljLCBEb250RW51bSk7CiB9CiAK
IFN0cnVjdHVyZSogSW50bE9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCkBAIC0xMDEwLDYgKzEwMTYs
MzMgQEAgVmVjdG9yPFN0cmluZz4gbnVtYmVyaW5nU3lzdGVtc0ZvckxvY2FsZShjb25zdCBTdHJp
bmcmIGxvY2FsZSkKICAgICByZXR1cm4gbnVtYmVyaW5nU3lzdGVtczsKIH0KIAorRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBpbnRsT2JqZWN0RnVuY0dldENhbm9uaWNhbExvY2FsZXMoRXhl
Y1N0YXRlKiBzdGF0ZSkKK3sKKyAgICBWTSYgdm0gPSBzdGF0ZS0+dm0oKTsKKyAgICBhdXRvIHNj
b3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1
Yi5pby9lY21hNDAyLyNzZWMtaW50bC5nZXRjYW5vbmljYWxsb2NhbGVzCisgICAgLy8gOC4yLjEg
SW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKGxvY2FsZXMpIChFQ01BLTQwMiA0LjApCisKKyAgICAv
LyAxLiBMZXQgbGwgYmUgPyBDYW5vbmljYWxpemVMb2NhbGVMaXN0KGxvY2FsZXMpLgorICAgIFZl
Y3RvcjxTdHJpbmc+IGxvY2FsZUxpc3QgPSBjYW5vbmljYWxpemVMb2NhbGVMaXN0KCpzdGF0ZSwg
c3RhdGUtPmFyZ3VtZW50KDApKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNv
ZGVkSlNWYWx1ZSgpKTsKKworICAgIC8vIDIuIFJldHVybiBDcmVhdGVBcnJheUZyb21MaXN0KGxs
KS4KKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gc3RhdGUtPmNhbGxlZSgpLT5n
bG9iYWxPYmplY3QoKTsKKyAgICBKU0FycmF5KiBsb2NhbGVBcnJheSA9IEpTQXJyYXk6OnRyeUNy
ZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRl
eGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aENvbnRpZ3VvdXMpLCBsb2NhbGVMaXN0
LnNpemUoKSk7CisgICAgaWYgKCFsb2NhbGVBcnJheSkgeworICAgICAgICB0aHJvd091dE9mTWVt
b3J5RXJyb3Ioc3RhdGUsIHNjb3BlKTsKKyAgICAgICAgcmV0dXJuIGVuY29kZWRKU1ZhbHVlKCk7
CisgICAgfQorCisgICAgYXV0byBsZW4gPSBsb2NhbGVMaXN0LnNpemUoKTsKKyAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IGxlbjsgKytpKSB7CisgICAgICAgIGxvY2FsZUFycmF5LT5pbml0aWFs
aXplSW5kZXgodm0sIGksIGpzU3RyaW5nKHN0YXRlLCBsb2NhbGVMaXN0W2ldKSk7CisgICAgICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgIH0KKyAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGxvY2FsZUFycmF5KTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgSlNDCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5UTCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmYmM0OTA2NmJlOTA3NmU5
ZjQ2MTI0MzU5OTIwZjVhMjdjMGM1M2E3Li45ZWUwN2Q1MDVjMzZkYjdkMDBlMTM5ZmVmOThmOTVm
ZGZjNTg1MTA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTYtMTAtMDUgIEFuZHkgVmFuV2Fn
b25lciAgPHRoZXRhbGVjcmFmdGVyQGdtYWlsLmNvbT4KKworICAgICAgICBbSU5UTF0gSW1wbGVt
ZW50IEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNzY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBqcy9pbnRsLWV4cGVjdGVkLnR4dDogQWRkZWQgdGVzdHMg
Zm9yIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcworICAgICAgICAqIGpzL3NjcmlwdC10ZXN0cy9p
bnRsLmpzOiBBZGRlZCB0ZXN0IGZvciBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMKKwogMjAxNi0w
OS0yOSAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9z
ZSBDcnlwdG9LZXkgdG8gd2ViIHdvcmtlcnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2lu
dGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvaW50bC1leHBlY3RlZC50eHQKaW5kZXgg
YWM0YjA0NDg2MWYwMWQ1ZDM2ZjdkNGEzZjc2MzdlZWU3NmFlNzYxMS4uYWRlZTI2ODcxODRjMDJm
OThmNTc2ZDYxOTk3MTlmOWIyYmE4NTU1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvaW50
bC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMvaW50bC1leHBlY3RlZC50eHQKQEAg
LTEyLDYgKzEyLDUyIEBAIFBBU1MgSW50bCgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IElu
dGwgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnSW50bCgpJywgJ0luCiBQQVNTIE9iamVjdC5rZXlz
KEludGwpLmxlbmd0aCBpcyAwCiBQQVNTIGRlbGV0ZSBJbnRsOyBpcyB0cnVlCiBQQVNTICdJbnRs
JyBpbiBnbG9iYWwoKSBpcyBmYWxzZQorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMubGVu
Z3RoIGlzIDEKK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCkgaXMgYW4gaW5zdGFuY2Ug
b2YgQXJyYXkKK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzLmNhbGwobnVsbCwgJ2VuJykg
aXMgWyAnZW4nIF0KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzLmNhbGwoe30sICdlbicp
IGlzIFsgJ2VuJyBdCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcy5jYWxsKDEsICdlbicp
IGlzIFsgJ2VuJyBdCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyg5KSBpcyBbXQorUEFT
UyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ2VuJykgaXMgWyAnZW4nIF0KK1BBU1MgSW50bC5n
ZXRDYW5vbmljYWxMb2NhbGVzKHsgbGVuZ3RoOiA0LCAxOiAnZW4nLCAwOiAnZXMnLCAzOiAnZGUn
IH0pIGlzIFsgJ2VzJywgJ2VuJywgJ2RlJyBdCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxl
cyhbICdlbicsICdwdCcsICdlbicsICdlcycgXSkgaXMgWyAnZW4nLCAncHQnLCAnZXMnIF0KK1BB
U1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdFbi1sYVRuLXVzLXZhcmlhbnQyLXZhcmlhbnQx
LTFhYmMtVS1rby10UnVlLUEtYWEtYWFhLXgtUkVTRVJWRUQnKSBpcyBbICdlbi1MYXRuLVVTLXZh
cmlhbnQyLXZhcmlhbnQxLTFhYmMtYS1hYS1hYWEtdS1rby10cnVlLXgtcmVzZXJ2ZWQnIF0KK1BB
U1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCduby1ib2snKSBpcyBbICduYicgXQorUEFTUyBJ
bnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ1gtc29tZS10aGluZycpIGlzIFsgJ3gtc29tZS10aGlu
ZycgXQorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoT2JqZWN0LmNyZWF0ZShudWxsLCB7
IGxlbmd0aDogeyBnZXQoKSB7IHRocm93IEVycm9yKCdhJykgfSB9IH0pKSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IGEuCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyhPYmplY3QuY3JlYXRl
KG51bGwsIHsgbGVuZ3RoOiB7IHZhbHVlOiAxIH0sIDA6IHsgZ2V0KCkgeyB0aHJvdyBFcnJvcign
YicpIH0gfSB9KSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBiLgorUEFTUyBJbnRsLmdldENhbm9u
aWNhbExvY2FsZXMoWyB7IHRvU3RyaW5nKCkgeyB0aHJvdyBFcnJvcignYycpIH0gfSBdKSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IGMuCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyhbIDUg
XSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogbG9jYWxlIHZhbHVlIG11c3QgYmUgYSBzdHJp
bmcgb3Igb2JqZWN0LgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJycpIHRocmV3IGV4
Y2VwdGlvbiBSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogLgorUEFTUyBJbnRsLmdl
dENhbm9uaWNhbExvY2FsZXMoJ2EnKSB0aHJldyBleGNlcHRpb24gUmFuZ2VFcnJvcjogaW52YWxp
ZCBsYW5ndWFnZSB0YWc6IGEuCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnYWJjZGVm
Z2hpaicpIHRocmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzog
YWJjZGVmZ2hpai4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCcjJCcpIHRocmV3IGV4
Y2VwdGlvbiBSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogIyQuCitQQVNTIEludGwu
Z2V0Q2Fub25pY2FsTG9jYWxlcygnZW4tQC1hYmMnKSB0aHJldyBleGNlcHRpb24gUmFuZ2VFcnJv
cjogaW52YWxpZCBsYW5ndWFnZSB0YWc6IGVuLUAtYWJjLgorUEFTUyBJbnRsLmdldENhbm9uaWNh
bExvY2FsZXMoJ2VuLXUnKSB0aHJldyBleGNlcHRpb24gUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5n
dWFnZSB0YWc6IGVuLXUuCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnZW4tdS1rbi10
cnVlLXUta28tdHJ1ZScpIHRocmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1
YWdlIHRhZzogZW4tdS1rbi10cnVlLXUta28tdHJ1ZS4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxM
b2NhbGVzKCdlbi14JykgdGhyZXcgZXhjZXB0aW9uIFJhbmdlRXJyb3I6IGludmFsaWQgbGFuZ3Vh
Z2UgdGFnOiBlbi14LgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ2VuLSonKSB0aHJl
dyBleGNlcHRpb24gUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5ndWFnZSB0YWc6IGVuLSouCitQQVNT
IEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnZW4tJykgdGhyZXcgZXhjZXB0aW9uIFJhbmdlRXJy
b3I6IGludmFsaWQgbGFuZ3VhZ2UgdGFnOiBlbi0uCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9j
YWxlcygnZW4tLVVTJykgdGhyZXcgZXhjZXB0aW9uIFJhbmdlRXJyb3I6IGludmFsaWQgbGFuZ3Vh
Z2UgdGFnOiBlbi0tVVMuCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnZGUnKSBkaWQg
bm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdkZS1E
RScpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2Fs
ZXMoJ0RFLWRlJykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIEludGwuZ2V0Q2Fub25p
Y2FsTG9jYWxlcygnY21uJykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIEludGwuZ2V0
Q2Fub25pY2FsTG9jYWxlcygnY21uLUhhbnMnKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdDTU4taEFOUycpIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ2Ntbi1oYW5zLWNuJykgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnZXMt
NDE5JykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9j
YWxlcygnZXMtNDE5LXUtbnUtbGF0bi1jdS1ib2InKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4K
K1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdpLWtsaW5nb24nKSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdjbW4taGFucy1jbi10
LWNhLXUtY2EteC10LXUnKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgSW50bC5nZXRD
YW5vbmljYWxMb2NhbGVzKCdlbm9jaGlhbi1lbm9jaGlhbicpIGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ2RlLWdyZWdvcnktdS1jYS1ncmVn
b3J5JykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9j
YWxlcygnYWEtYS1mb28teC1hLWZvby1iYXInKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCd4LWVuLVVTLTEyMzQ1JykgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygneC0xMjM0NS0xMjM0
NS1lbi1VUycpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBJbnRsLmdldENhbm9uaWNh
bExvY2FsZXMoJ3gtZW4tVVMtMTIzNDUtMTIzNDUnKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4K
K1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCd4LWVuLXUtZm9vJykgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygneC1lbi11LWZvby11
LWJhcicpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3Jp
cHQtdGVzdHMvaW50bC5qcyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9pbnRsLmpzCmlu
ZGV4IGJjYTYyMGM0MDBhOTg4YTdhOWYyODQxMzUxOTZmNzUzZDIzMWY1NGMuLmI5M2ExNzViMDI2
ZTE5ZjlmMzAxN2RiYTgyY2ZmZjRmYWE3MjJmODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pz
L3NjcmlwdC10ZXN0cy9pbnRsLmpzCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9p
bnRsLmpzCkBAIC0zMCwzICszMCw3MSBAQCBzaG91bGRCZUZhbHNlKCInSW50bCcgaW4gZ2xvYmFs
KCkiKTsKIAogSW50bCA9IF9fSW50bDsKIAorLy8gOC4yLjEgSW50bC5nZXRDYW5vbmljYWxMb2Nh
bGVzKGxvY2FsZXMpCisKKy8vIFRoZSB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRo
ZSBnZXRDYW5vbmljYWxMb2NhbGVzIG1ldGhvZCBpcyAxLgorc2hvdWxkQmUoIkludGwuZ2V0Q2Fu
b25pY2FsTG9jYWxlcy5sZW5ndGgiLCAiMSIpOworCisvLyBSZXR1cm5zIExvY2FsZXMKK3Nob3Vs
ZEJlVHlwZSgiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCkiLCAiQXJyYXkiKTsKKy8vIERvZXNu
J3QgY2FyZSBhYm91dCBgdGhpc2AuCitzaG91bGRCZSgiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVz
LmNhbGwobnVsbCwgJ2VuJykiLCAiWyAnZW4nIF0iKTsKK3Nob3VsZEJlKCJJbnRsLmdldENhbm9u
aWNhbExvY2FsZXMuY2FsbCh7fSwgJ2VuJykiLCAiWyAnZW4nIF0iKTsKK3Nob3VsZEJlKCJJbnRs
LmdldENhbm9uaWNhbExvY2FsZXMuY2FsbCgxLCAnZW4nKSIsICJbICdlbicgXSIpOworLy8gSWdu
b3JlcyBub24tb2JqZWN0LCBub24tc3RyaW5nIGxpc3QuCitzaG91bGRCZSgiSW50bC5nZXRDYW5v
bmljYWxMb2NhbGVzKDkpIiwgIltdIik7CisvLyBNYWtlcyBhbiBhcnJheSBvZiB0YWdzLgorc2hv
dWxkQmUoIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnZW4nKSIsICJbICdlbicgXSIpOworLy8g
SGFuZGxlcyBhcnJheS1saWtlIG9iamVjdHMgd2l0aCBob2xlcy4KK3Nob3VsZEJlKCJJbnRsLmdl
dENhbm9uaWNhbExvY2FsZXMoeyBsZW5ndGg6IDQsIDE6ICdlbicsIDA6ICdlcycsIDM6ICdkZScg
fSkiLCAiWyAnZXMnLCAnZW4nLCAnZGUnIF0iKTsKKy8vIERlZHVwbGljYXRlcyB0YWdzLgorc2hv
dWxkQmUoIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyhbICdlbicsICdwdCcsICdlbicsICdlcycg
XSkiLCAiWyAnZW4nLCAncHQnLCAnZXMnIF0iKTsKKy8vIENhbm9uaWNhbGl6ZXMgdGFncy4KK3No
b3VsZEJlKCJJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ0VuLWxhVG4tdXMtdmFyaWFudDItdmFy
aWFudDEtMWFiYy1VLWtvLXRSdWUtQS1hYS1hYWEteC1SRVNFUlZFRCcpIiwgIlsgJ2VuLUxhdG4t
VVMtdmFyaWFudDItdmFyaWFudDEtMWFiYy1hLWFhLWFhYS11LWtvLXRydWUteC1yZXNlcnZlZCcg
XSIpOworLy8gUmVwbGFjZXMgb3V0ZGF0ZWQgdGFncy4KK3Nob3VsZEJlKCJJbnRsLmdldENhbm9u
aWNhbExvY2FsZXMoJ25vLWJvaycpIiwgIlsgJ25iJyBdIik7CisvLyBDYW5vbmljYWxpemVzIHBy
aXZhdGUgdGFncy4KK3Nob3VsZEJlKCJJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ1gtc29tZS10
aGluZycpIiwgIlsgJ3gtc29tZS10aGluZycgXSIpOworLy8gVGhyb3dzIG9uIHByb2JsZW1zIHdp
dGggbGVuZ3RoLCBnZXQsIG9yIHRvU3RyaW5nLgorc2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fub25p
Y2FsTG9jYWxlcyhPYmplY3QuY3JlYXRlKG51bGwsIHsgbGVuZ3RoOiB7IGdldCgpIHsgdGhyb3cg
RXJyb3IoJ2EnKSB9IH0gfSkpIiwgIidFcnJvcjogYSciKTsKK3Nob3VsZFRocm93KCJJbnRsLmdl
dENhbm9uaWNhbExvY2FsZXMoT2JqZWN0LmNyZWF0ZShudWxsLCB7IGxlbmd0aDogeyB2YWx1ZTog
MSB9LCAwOiB7IGdldCgpIHsgdGhyb3cgRXJyb3IoJ2InKSB9IH0gfSkpIiwgIidFcnJvcjogYici
KTsKK3Nob3VsZFRocm93KCJJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoWyB7IHRvU3RyaW5nKCkg
eyB0aHJvdyBFcnJvcignYycpIH0gfSBdKSIsICInRXJyb3I6IGMnIik7CisvLyBUaHJvd3Mgb24g
YmFkIHRhZ3MuCitzaG91bGRUaHJvdygiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKFsgNSBdKSIs
ICInVHlwZUVycm9yOiBsb2NhbGUgdmFsdWUgbXVzdCBiZSBhIHN0cmluZyBvciBvYmplY3QnIik7
CitzaG91bGRUaHJvdygiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCcnKSIsICInUmFuZ2VFcnJv
cjogaW52YWxpZCBsYW5ndWFnZSB0YWc6ICciKTsKK3Nob3VsZFRocm93KCJJbnRsLmdldENhbm9u
aWNhbExvY2FsZXMoJ2EnKSIsICInUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5ndWFnZSB0YWc6IGEn
Iik7CitzaG91bGRUaHJvdygiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdhYmNkZWZnaGlqJyki
LCAiJ1JhbmdlRXJyb3I6IGludmFsaWQgbGFuZ3VhZ2UgdGFnOiBhYmNkZWZnaGlqJyIpOworc2hv
dWxkVGhyb3coIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnIyQnKSIsICInUmFuZ2VFcnJvcjog
aW52YWxpZCBsYW5ndWFnZSB0YWc6ICMkJyIpOworc2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fub25p
Y2FsTG9jYWxlcygnZW4tQC1hYmMnKSIsICInUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5ndWFnZSB0
YWc6IGVuLUAtYWJjJyIpOworc2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygn
ZW4tdScpIiwgIidSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogZW4tdSciKTsKK3No
b3VsZFRocm93KCJJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ2VuLXUta24tdHJ1ZS11LWtvLXRy
dWUnKSIsICInUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5ndWFnZSB0YWc6IGVuLXUta24tdHJ1ZS11
LWtvLXRydWUnIik7CitzaG91bGRUaHJvdygiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlbi14
JykiLCAiJ1JhbmdlRXJyb3I6IGludmFsaWQgbGFuZ3VhZ2UgdGFnOiBlbi14JyIpOworc2hvdWxk
VGhyb3coIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnZW4tKicpIiwgIidSYW5nZUVycm9yOiBp
bnZhbGlkIGxhbmd1YWdlIHRhZzogZW4tKiciKTsKK3Nob3VsZFRocm93KCJJbnRsLmdldENhbm9u
aWNhbExvY2FsZXMoJ2VuLScpIiwgIidSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzog
ZW4tJyIpOworc2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnZW4tLVVTJyki
LCAiJ1JhbmdlRXJyb3I6IGludmFsaWQgbGFuZ3VhZ2UgdGFnOiBlbi0tVVMnIik7CisvLyBBY2Nl
cHRzIHZhbGlkIHRhZ3MKK3ZhciB2YWxpZExhbmd1YWdlVGFncyA9IFsKKyAgICAiZGUiLCAvLyBJ
U08gNjM5IGxhbmd1YWdlIGNvZGUKKyAgICAiZGUtREUiLCAvLyArIElTTyAzMTY2LTEgY291bnRy
eSBjb2RlCisgICAgIkRFLWRlIiwgLy8gdGFncyBhcmUgY2FzZS1pbnNlbnNpdGl2ZQorICAgICJj
bW4iLCAvLyBJU08gNjM5IGxhbmd1YWdlIGNvZGUKKyAgICAiY21uLUhhbnMiLCAvLyArIHNjcmlw
dCBjb2RlCisgICAgIkNNTi1oQU5TIiwgLy8gdGFncyBhcmUgY2FzZS1pbnNlbnNpdGl2ZQorICAg
ICJjbW4taGFucy1jbiIsIC8vICsgSVNPIDMxNjYtMSBjb3VudHJ5IGNvZGUKKyAgICAiZXMtNDE5
IiwgLy8gKyBVTiBNLjQ5IHJlZ2lvbiBjb2RlCisgICAgImVzLTQxOS11LW51LWxhdG4tY3UtYm9i
IiwgLy8gKyBVbmljb2RlIGxvY2FsZSBleHRlbnNpb24gc2VxdWVuY2UKKyAgICAiaS1rbGluZ29u
IiwgLy8gZ3JhbmRmYXRoZXJlZCB0YWcKKyAgICAiY21uLWhhbnMtY24tdC1jYS11LWNhLXgtdC11
IiwgLy8gc2luZ2xldG9uIHN1YnRhZ3MgY2FuIGFsc28gYmUgdXNlZCBhcyBwcml2YXRlIHVzZSBz
dWJ0YWdzCisgICAgImVub2NoaWFuLWVub2NoaWFuIiwgLy8gbGFuZ3VhZ2UgYW5kIHZhcmlhbnQg
c3VidGFncyBtYXkgYmUgdGhlIHNhbWUKKyAgICAiZGUtZ3JlZ29yeS11LWNhLWdyZWdvcnkiLCAv
LyB2YXJpYW50IGFuZCBleHRlbnNpb24gc3VidGFncyBtYXkgYmUgdGhlIHNhbWUKKyAgICAiYWEt
YS1mb28teC1hLWZvby1iYXIiLCAvLyB2YXJpYW50IHN1YnRhZ3MgY2FuIGFsc28gYmUgdXNlZCBh
cyBwcml2YXRlIHVzZSBzdWJ0YWdzCisgICAgIngtZW4tVVMtMTIzNDUiLCAvLyBhbnl0aGluZyBn
b2VzIGluIHByaXZhdGUgdXNlIHRhZ3MKKyAgICAieC0xMjM0NS0xMjM0NS1lbi1VUyIsCisgICAg
IngtZW4tVVMtMTIzNDUtMTIzNDUiLAorICAgICJ4LWVuLXUtZm9vIiwKKyAgICAieC1lbi11LWZv
by11LWJhciIKK107Citmb3IgKHZhciB2YWxpZExhbmd1YWdlVGFnIG9mIHZhbGlkTGFuZ3VhZ2VU
YWdzKSB7CisgICAgc2hvdWxkTm90VGhyb3coIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnIiAr
IHZhbGlkTGFuZ3VhZ2VUYWcgKyAiJykiKTsKK30KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290762</attachid>
            <date>2016-10-05 16:36:28 -0700</date>
            <delta_ts>2016-10-05 17:09:50 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-162768-20161005163315.patch</filename>
            <type>text/plain</type>
            <size>12682</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA2ODMxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDE2LTEwLTA1ICBBbmR5IFZhbldhZ29uZXIgIDx0aGV0YWxlY3JhZnRlckBnbWFpbC5jb20+
CisKKyAgICAgICAgW0lOVExdIEltcGxlbWVudCBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mjc2OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IEJlbmphbWluIFBvdWxhaW4uCisKKyAgICAgICAgSW1wbGVtZW50
IEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyBmcm9tIEVDTUEgNDAyICgzcmQgZWRpdGlvbikKKyAg
ICAgICAgaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS00MDIvMy4wL2luZGV4Lmh0
bWwjc2VjLWludGwuZ2V0Y2Fub25pY2FsbG9jYWxlcworCisgICAgICAgIFJldXNlIGNhbm9uaWNh
bGl6ZUxvY2FsZUxpc3QgYW5kIGNvcHkgdGhlIHJlc3VsdHMgaW50byBhIG5ldyBKU0FycmF5Lgor
CisgICAgICAgICogcnVudGltZS9JbnRsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SW50bE9i
amVjdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoSlNDOjppbnRsT2JqZWN0RnVuY0dldENh
bm9uaWNhbExvY2FsZXMpOgorCiAyMDE2LTEwLTA1ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtA
aWdhbGlhLmNvbT4KIAogICAgICAgICBSZW5hbWUgRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMiB0
byBFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bE9iamVjdC5jcHAJKHJldmlzaW9uIDIwNjgzMSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01Niw2ICs1Niw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiBTVEFUSUNfQVNTRVJUX0lTX1RSSVZJ
QUxMWV9ERVNUUlVDVElCTEUoSW50bE9iamVjdCk7CiAKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGludGxPYmplY3RGdW5jR2V0Q2Fub25pY2FsTG9jYWxlcyhFeGVjU3RhdGUq
KTsKKwogfQogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTExMCw2ICsxMTIsMTAgQEAgdm9pZCBJbnRs
T2JqZWN0OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIAogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5Db2xsYXRvciwgY29sbGF0b3JDb25zdHJ1Y3Rv
ciwgRG9udEVudW0pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5OdW1iZXJGb3JtYXQsIG51bWJlckZvcm1hdENvbnN0cnVjdG9yLCBEb250RW51
bSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMt
PkRhdGVUaW1lRm9ybWF0LCBkYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLCBEb250RW51bSk7CisK
KyAgICAvLyA4LjIgRnVuY3Rpb24gUHJvcGVydGllcyBvZiB0aGUgSW50bCBPYmplY3QKKyAgICAv
LyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWE0MDIvI3NlYy1mdW5jdGlvbi1wcm9wZXJ0aWVz
LW9mLXRoZS1pbnRsLW9iamVjdAorICAgIHB1dERpcmVjdE5hdGl2ZUZ1bmN0aW9uKHZtLCBnbG9i
YWxPYmplY3QsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiZ2V0Q2Fub25pY2FsTG9jYWxl
cyIpLCAxLCBpbnRsT2JqZWN0RnVuY0dldENhbm9uaWNhbExvY2FsZXMsIE5vSW50cmluc2ljLCBE
b250RW51bSk7CiB9CiAKIFN0cnVjdHVyZSogSW50bE9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCkBA
IC0xMDEwLDYgKzEwMTYsMzMgQEAgVmVjdG9yPFN0cmluZz4gbnVtYmVyaW5nU3lzdGVtc0Zvckxv
Y2FsZQogICAgIHJldHVybiBudW1iZXJpbmdTeXN0ZW1zOwogfQogCitFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGludGxPYmplY3RGdW5jR2V0Q2Fub25pY2FsTG9jYWxlcyhFeGVjU3RhdGUq
IHN0YXRlKQoreworICAgIFZNJiB2bSA9IHN0YXRlLT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2Vj
bWE0MDIvI3NlYy1pbnRsLmdldGNhbm9uaWNhbGxvY2FsZXMKKyAgICAvLyA4LjIuMSBJbnRsLmdl
dENhbm9uaWNhbExvY2FsZXMobG9jYWxlcykgKEVDTUEtNDAyIDQuMCkKKworICAgIC8vIDEuIExl
dCBsbCBiZSA/IENhbm9uaWNhbGl6ZUxvY2FsZUxpc3QobG9jYWxlcykuCisgICAgVmVjdG9yPFN0
cmluZz4gbG9jYWxlTGlzdCA9IGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QoKnN0YXRlLCBzdGF0ZS0+
YXJndW1lbnQoMCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1Zh
bHVlKCkpOworCisgICAgLy8gMi4gUmV0dXJuIENyZWF0ZUFycmF5RnJvbUxpc3QobGwpLgorICAg
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBzdGF0ZS0+Y2FsbGVlKCktPmdsb2JhbE9i
amVjdCgpOworICAgIEpTQXJyYXkqIGxvY2FsZUFycmF5ID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5p
bml0aWFsaXplZCh2bSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlw
ZUR1cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoQ29udGlndW91cyksIGxvY2FsZUxpc3Quc2l6ZSgp
KTsKKyAgICBpZiAoIWxvY2FsZUFycmF5KSB7CisgICAgICAgIHRocm93T3V0T2ZNZW1vcnlFcnJv
cihzdGF0ZSwgc2NvcGUpOworICAgICAgICByZXR1cm4gZW5jb2RlZEpTVmFsdWUoKTsKKyAgICB9
CisKKyAgICBhdXRvIGxlbmd0aCA9IGxvY2FsZUxpc3Quc2l6ZSgpOworICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgbG9jYWxlQXJyYXktPmluaXRpYWxp
emVJbmRleCh2bSwgaSwganNTdHJpbmcoc3RhdGUsIGxvY2FsZUxpc3RbaV0pKTsKKyAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgfQorICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUobG9jYWxlQXJyYXkpOworfQorCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKIAogI2VuZGlmIC8vIEVOQUJMRShJTlRMKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjA2ODMx
KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTYtMTAtMDUgIEFuZHkgVmFuV2Fnb25lciAgPHRoZXRhbGVjcmFmdGVyQGdtYWlsLmNv
bT4KKworICAgICAgICBbSU5UTF0gSW1wbGVtZW50IEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNzY4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQmVuamFtaW4gUG91bGFpbi4KKworICAgICAgICAqIGpzL2lu
dGwtZXhwZWN0ZWQudHh0OiBBZGRlZCB0ZXN0cyBmb3IgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVz
CisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL2ludGwuanM6IEFkZGVkIHRlc3QgZm9yIEludGwu
Z2V0Q2Fub25pY2FsTG9jYWxlcworCiAyMDE2LTEwLTA1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CiAKICAgICAgICAgS2V5Ym9hcmRFdmVudC5nZXRNb2RpZmllclN0YXRlKCkgc2hv
dWxkIHN1cHBvcnQgIkNhcHNMb2NrIiBtb2RpZmllcgpJbmRleDogTGF5b3V0VGVzdHMvanMvaW50
bC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMvaW50bC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDIwNjgzMSkKKysrIExheW91dFRlc3RzL2pzL2ludGwtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMiw2ICsxMiw1MiBAQCBQQVNTIEludGwoKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBJCiBQQVNTIE9iamVjdC5rZXlzKEludGwpLmxlbmd0aCBpcyAw
CiBQQVNTIGRlbGV0ZSBJbnRsOyBpcyB0cnVlCiBQQVNTICdJbnRsJyBpbiBnbG9iYWwoKSBpcyBm
YWxzZQorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMubGVuZ3RoIGlzIDEKK1BBU1MgSW50
bC5nZXRDYW5vbmljYWxMb2NhbGVzKCkgaXMgYW4gaW5zdGFuY2Ugb2YgQXJyYXkKK1BBU1MgSW50
bC5nZXRDYW5vbmljYWxMb2NhbGVzLmNhbGwobnVsbCwgJ2VuJykgaXMgWyAnZW4nIF0KK1BBU1Mg
SW50bC5nZXRDYW5vbmljYWxMb2NhbGVzLmNhbGwoe30sICdlbicpIGlzIFsgJ2VuJyBdCitQQVNT
IEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcy5jYWxsKDEsICdlbicpIGlzIFsgJ2VuJyBdCitQQVNT
IEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyg5KSBpcyBbXQorUEFTUyBJbnRsLmdldENhbm9uaWNh
bExvY2FsZXMoJ2VuJykgaXMgWyAnZW4nIF0KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVz
KHsgbGVuZ3RoOiA0LCAxOiAnZW4nLCAwOiAnZXMnLCAzOiAnZGUnIH0pIGlzIFsgJ2VzJywgJ2Vu
JywgJ2RlJyBdCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyhbICdlbicsICdwdCcsICdl
bicsICdlcycgXSkgaXMgWyAnZW4nLCAncHQnLCAnZXMnIF0KK1BBU1MgSW50bC5nZXRDYW5vbmlj
YWxMb2NhbGVzKCdFbi1sYVRuLXVzLXZhcmlhbnQyLXZhcmlhbnQxLTFhYmMtVS1rby10UnVlLUEt
YWEtYWFhLXgtUkVTRVJWRUQnKSBpcyBbICdlbi1MYXRuLVVTLXZhcmlhbnQyLXZhcmlhbnQxLTFh
YmMtYS1hYS1hYWEtdS1rby10cnVlLXgtcmVzZXJ2ZWQnIF0KK1BBU1MgSW50bC5nZXRDYW5vbmlj
YWxMb2NhbGVzKCduby1ib2snKSBpcyBbICduYicgXQorUEFTUyBJbnRsLmdldENhbm9uaWNhbExv
Y2FsZXMoJ1gtc29tZS10aGluZycpIGlzIFsgJ3gtc29tZS10aGluZycgXQorUEFTUyBJbnRsLmdl
dENhbm9uaWNhbExvY2FsZXMoT2JqZWN0LmNyZWF0ZShudWxsLCB7IGxlbmd0aDogeyBnZXQoKSB7
IHRocm93IEVycm9yKCdhJykgfSB9IH0pKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IGEuCitQQVNT
IEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyhPYmplY3QuY3JlYXRlKG51bGwsIHsgbGVuZ3RoOiB7
IHZhbHVlOiAxIH0sIDA6IHsgZ2V0KCkgeyB0aHJvdyBFcnJvcignYicpIH0gfSB9KSkgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBiLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoWyB7IHRv
U3RyaW5nKCkgeyB0aHJvdyBFcnJvcignYycpIH0gfSBdKSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IGMuCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyhbIDUgXSkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogbG9jYWxlIHZhbHVlIG11c3QgYmUgYSBzdHJpbmcgb3Igb2JqZWN0LgorUEFT
UyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJycpIHRocmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9y
OiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMo
J2EnKSB0aHJldyBleGNlcHRpb24gUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5ndWFnZSB0YWc6IGEu
CitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnYWJjZGVmZ2hpaicpIHRocmV3IGV4Y2Vw
dGlvbiBSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogYWJjZGVmZ2hpai4KK1BBU1Mg
SW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCcjJCcpIHRocmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9y
OiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogIyQuCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxl
cygnZW4tQC1hYmMnKSB0aHJldyBleGNlcHRpb24gUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5ndWFn
ZSB0YWc6IGVuLUAtYWJjLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ2VuLXUnKSB0
aHJldyBleGNlcHRpb24gUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5ndWFnZSB0YWc6IGVuLXUuCitQ
QVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnZW4tdS1rbi10cnVlLXUta28tdHJ1ZScpIHRo
cmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogZW4tdS1rbi10
cnVlLXUta28tdHJ1ZS4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlbi14JykgdGhy
ZXcgZXhjZXB0aW9uIFJhbmdlRXJyb3I6IGludmFsaWQgbGFuZ3VhZ2UgdGFnOiBlbi14LgorUEFT
UyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ2VuLSonKSB0aHJldyBleGNlcHRpb24gUmFuZ2VF
cnJvcjogaW52YWxpZCBsYW5ndWFnZSB0YWc6IGVuLSouCitQQVNTIEludGwuZ2V0Q2Fub25pY2Fs
TG9jYWxlcygnZW4tJykgdGhyZXcgZXhjZXB0aW9uIFJhbmdlRXJyb3I6IGludmFsaWQgbGFuZ3Vh
Z2UgdGFnOiBlbi0uCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnZW4tLVVTJykgdGhy
ZXcgZXhjZXB0aW9uIFJhbmdlRXJyb3I6IGludmFsaWQgbGFuZ3VhZ2UgdGFnOiBlbi0tVVMuCitQ
QVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnZGUnKSBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdkZS1ERScpIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ0RFLWRlJykgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnY21uJykg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygn
Y21uLUhhbnMnKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgSW50bC5nZXRDYW5vbmlj
YWxMb2NhbGVzKCdDTU4taEFOUycpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBJbnRs
LmdldENhbm9uaWNhbExvY2FsZXMoJ2Ntbi1oYW5zLWNuJykgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnZXMtNDE5JykgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnZXMtNDE5LXUtbnUt
bGF0bi1jdS1ib2InKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgSW50bC5nZXRDYW5v
bmljYWxMb2NhbGVzKCdpLWtsaW5nb24nKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mg
SW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdjbW4taGFucy1jbi10LWNhLXUtY2EteC10LXUnKSBk
aWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdl
bm9jaGlhbi1lbm9jaGlhbicpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBJbnRsLmdl
dENhbm9uaWNhbExvY2FsZXMoJ2RlLWdyZWdvcnktdS1jYS1ncmVnb3J5JykgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnYWEtYS1mb28teC1h
LWZvby1iYXInKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgSW50bC5nZXRDYW5vbmlj
YWxMb2NhbGVzKCd4LWVuLVVTLTEyMzQ1JykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygneC0xMjM0NS0xMjM0NS1lbi1VUycpIGRpZCBub3Qg
dGhyb3cgZXhjZXB0aW9uLgorUEFTUyBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ3gtZW4tVVMt
MTIzNDUtMTIzNDUnKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgSW50bC5nZXRDYW5v
bmljYWxMb2NhbGVzKCd4LWVuLXUtZm9vJykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygneC1lbi11LWZvby11LWJhcicpIGRpZCBub3QgdGhy
b3cgZXhjZXB0aW9uLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENP
TVBMRVRFCkluZGV4OiBMYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvaW50bC5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvaW50bC5qcwkocmV2aXNpb24gMjA2
ODMxKQorKysgTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2ludGwuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTMwLDMgKzMwLDcxIEBAIHNob3VsZEJlRmFsc2UoIidJbnRsJyBpbiBnbG9iYWwoKSIp
OwogCiBJbnRsID0gX19JbnRsOwogCisvLyA4LjIuMSBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMo
bG9jYWxlcykKKworLy8gVGhlIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgdGhlIGdl
dENhbm9uaWNhbExvY2FsZXMgbWV0aG9kIGlzIDEuCitzaG91bGRCZSgiSW50bC5nZXRDYW5vbmlj
YWxMb2NhbGVzLmxlbmd0aCIsICIxIik7CisKKy8vIFJldHVybnMgTG9jYWxlcworc2hvdWxkQmVU
eXBlKCJJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoKSIsICJBcnJheSIpOworLy8gRG9lc24ndCBj
YXJlIGFib3V0IGB0aGlzYC4KK3Nob3VsZEJlKCJJbnRsLmdldENhbm9uaWNhbExvY2FsZXMuY2Fs
bChudWxsLCAnZW4nKSIsICJbICdlbicgXSIpOworc2hvdWxkQmUoIkludGwuZ2V0Q2Fub25pY2Fs
TG9jYWxlcy5jYWxsKHt9LCAnZW4nKSIsICJbICdlbicgXSIpOworc2hvdWxkQmUoIkludGwuZ2V0
Q2Fub25pY2FsTG9jYWxlcy5jYWxsKDEsICdlbicpIiwgIlsgJ2VuJyBdIik7CisvLyBJZ25vcmVz
IG5vbi1vYmplY3QsIG5vbi1zdHJpbmcgbGlzdC4KK3Nob3VsZEJlKCJJbnRsLmdldENhbm9uaWNh
bExvY2FsZXMoOSkiLCAiW10iKTsKKy8vIE1ha2VzIGFuIGFycmF5IG9mIHRhZ3MuCitzaG91bGRC
ZSgiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlbicpIiwgIlsgJ2VuJyBdIik7CisvLyBIYW5k
bGVzIGFycmF5LWxpa2Ugb2JqZWN0cyB3aXRoIGhvbGVzLgorc2hvdWxkQmUoIkludGwuZ2V0Q2Fu
b25pY2FsTG9jYWxlcyh7IGxlbmd0aDogNCwgMTogJ2VuJywgMDogJ2VzJywgMzogJ2RlJyB9KSIs
ICJbICdlcycsICdlbicsICdkZScgXSIpOworLy8gRGVkdXBsaWNhdGVzIHRhZ3MuCitzaG91bGRC
ZSgiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKFsgJ2VuJywgJ3B0JywgJ2VuJywgJ2VzJyBdKSIs
ICJbICdlbicsICdwdCcsICdlcycgXSIpOworLy8gQ2Fub25pY2FsaXplcyB0YWdzLgorc2hvdWxk
QmUoIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnRW4tbGFUbi11cy12YXJpYW50Mi12YXJpYW50
MS0xYWJjLVUta28tdFJ1ZS1BLWFhLWFhYS14LVJFU0VSVkVEJykiLCAiWyAnZW4tTGF0bi1VUy12
YXJpYW50Mi12YXJpYW50MS0xYWJjLWEtYWEtYWFhLXUta28tdHJ1ZS14LXJlc2VydmVkJyBdIik7
CisvLyBSZXBsYWNlcyBvdXRkYXRlZCB0YWdzLgorc2hvdWxkQmUoIkludGwuZ2V0Q2Fub25pY2Fs
TG9jYWxlcygnbm8tYm9rJykiLCAiWyAnbmInIF0iKTsKKy8vIENhbm9uaWNhbGl6ZXMgcHJpdmF0
ZSB0YWdzLgorc2hvdWxkQmUoIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnWC1zb21lLXRoaW5n
JykiLCAiWyAneC1zb21lLXRoaW5nJyBdIik7CisvLyBUaHJvd3Mgb24gcHJvYmxlbXMgd2l0aCBs
ZW5ndGgsIGdldCwgb3IgdG9TdHJpbmcuCitzaG91bGRUaHJvdygiSW50bC5nZXRDYW5vbmljYWxM
b2NhbGVzKE9iamVjdC5jcmVhdGUobnVsbCwgeyBsZW5ndGg6IHsgZ2V0KCkgeyB0aHJvdyBFcnJv
cignYScpIH0gfSB9KSkiLCAiJ0Vycm9yOiBhJyIpOworc2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fu
b25pY2FsTG9jYWxlcyhPYmplY3QuY3JlYXRlKG51bGwsIHsgbGVuZ3RoOiB7IHZhbHVlOiAxIH0s
IDA6IHsgZ2V0KCkgeyB0aHJvdyBFcnJvcignYicpIH0gfSB9KSkiLCAiJ0Vycm9yOiBiJyIpOwor
c2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyhbIHsgdG9TdHJpbmcoKSB7IHRo
cm93IEVycm9yKCdjJykgfSB9IF0pIiwgIidFcnJvcjogYyciKTsKKy8vIFRocm93cyBvbiBiYWQg
dGFncy4KK3Nob3VsZFRocm93KCJJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoWyA1IF0pIiwgIidU
eXBlRXJyb3I6IGxvY2FsZSB2YWx1ZSBtdXN0IGJlIGEgc3RyaW5nIG9yIG9iamVjdCciKTsKK3No
b3VsZFRocm93KCJJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJycpIiwgIidSYW5nZUVycm9yOiBp
bnZhbGlkIGxhbmd1YWdlIHRhZzogJyIpOworc2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fub25pY2Fs
TG9jYWxlcygnYScpIiwgIidSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogYSciKTsK
K3Nob3VsZFRocm93KCJJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ2FiY2RlZmdoaWonKSIsICIn
UmFuZ2VFcnJvcjogaW52YWxpZCBsYW5ndWFnZSB0YWc6IGFiY2RlZmdoaWonIik7CitzaG91bGRU
aHJvdygiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCcjJCcpIiwgIidSYW5nZUVycm9yOiBpbnZh
bGlkIGxhbmd1YWdlIHRhZzogIyQnIik7CitzaG91bGRUaHJvdygiSW50bC5nZXRDYW5vbmljYWxM
b2NhbGVzKCdlbi1ALWFiYycpIiwgIidSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzog
ZW4tQC1hYmMnIik7CitzaG91bGRUaHJvdygiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlbi11
JykiLCAiJ1JhbmdlRXJyb3I6IGludmFsaWQgbGFuZ3VhZ2UgdGFnOiBlbi11JyIpOworc2hvdWxk
VGhyb3coIkludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcygnZW4tdS1rbi10cnVlLXUta28tdHJ1ZScp
IiwgIidSYW5nZUVycm9yOiBpbnZhbGlkIGxhbmd1YWdlIHRhZzogZW4tdS1rbi10cnVlLXUta28t
dHJ1ZSciKTsKK3Nob3VsZFRocm93KCJJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoJ2VuLXgnKSIs
ICInUmFuZ2VFcnJvcjogaW52YWxpZCBsYW5ndWFnZSB0YWc6IGVuLXgnIik7CitzaG91bGRUaHJv
dygiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlbi0qJykiLCAiJ1JhbmdlRXJyb3I6IGludmFs
aWQgbGFuZ3VhZ2UgdGFnOiBlbi0qJyIpOworc2hvdWxkVGhyb3coIkludGwuZ2V0Q2Fub25pY2Fs
TG9jYWxlcygnZW4tJykiLCAiJ1JhbmdlRXJyb3I6IGludmFsaWQgbGFuZ3VhZ2UgdGFnOiBlbi0n
Iik7CitzaG91bGRUaHJvdygiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCdlbi0tVVMnKSIsICIn
UmFuZ2VFcnJvcjogaW52YWxpZCBsYW5ndWFnZSB0YWc6IGVuLS1VUyciKTsKKy8vIEFjY2VwdHMg
dmFsaWQgdGFncwordmFyIHZhbGlkTGFuZ3VhZ2VUYWdzID0gWworICAgICJkZSIsIC8vIElTTyA2
MzkgbGFuZ3VhZ2UgY29kZQorICAgICJkZS1ERSIsIC8vICsgSVNPIDMxNjYtMSBjb3VudHJ5IGNv
ZGUKKyAgICAiREUtZGUiLCAvLyB0YWdzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCisgICAgImNtbiIs
IC8vIElTTyA2MzkgbGFuZ3VhZ2UgY29kZQorICAgICJjbW4tSGFucyIsIC8vICsgc2NyaXB0IGNv
ZGUKKyAgICAiQ01OLWhBTlMiLCAvLyB0YWdzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCisgICAgImNt
bi1oYW5zLWNuIiwgLy8gKyBJU08gMzE2Ni0xIGNvdW50cnkgY29kZQorICAgICJlcy00MTkiLCAv
LyArIFVOIE0uNDkgcmVnaW9uIGNvZGUKKyAgICAiZXMtNDE5LXUtbnUtbGF0bi1jdS1ib2IiLCAv
LyArIFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiBzZXF1ZW5jZQorICAgICJpLWtsaW5nb24iLCAv
LyBncmFuZGZhdGhlcmVkIHRhZworICAgICJjbW4taGFucy1jbi10LWNhLXUtY2EteC10LXUiLCAv
LyBzaW5nbGV0b24gc3VidGFncyBjYW4gYWxzbyBiZSB1c2VkIGFzIHByaXZhdGUgdXNlIHN1YnRh
Z3MKKyAgICAiZW5vY2hpYW4tZW5vY2hpYW4iLCAvLyBsYW5ndWFnZSBhbmQgdmFyaWFudCBzdWJ0
YWdzIG1heSBiZSB0aGUgc2FtZQorICAgICJkZS1ncmVnb3J5LXUtY2EtZ3JlZ29yeSIsIC8vIHZh
cmlhbnQgYW5kIGV4dGVuc2lvbiBzdWJ0YWdzIG1heSBiZSB0aGUgc2FtZQorICAgICJhYS1hLWZv
by14LWEtZm9vLWJhciIsIC8vIHZhcmlhbnQgc3VidGFncyBjYW4gYWxzbyBiZSB1c2VkIGFzIHBy
aXZhdGUgdXNlIHN1YnRhZ3MKKyAgICAieC1lbi1VUy0xMjM0NSIsIC8vIGFueXRoaW5nIGdvZXMg
aW4gcHJpdmF0ZSB1c2UgdGFncworICAgICJ4LTEyMzQ1LTEyMzQ1LWVuLVVTIiwKKyAgICAieC1l
bi1VUy0xMjM0NS0xMjM0NSIsCisgICAgIngtZW4tdS1mb28iLAorICAgICJ4LWVuLXUtZm9vLXUt
YmFyIgorXTsKK2ZvciAodmFyIHZhbGlkTGFuZ3VhZ2VUYWcgb2YgdmFsaWRMYW5ndWFnZVRhZ3Mp
IHsKKyAgICBzaG91bGROb3RUaHJvdygiSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKCciICsgdmFs
aWRMYW5ndWFnZVRhZyArICInKSIpOworfQorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>