<?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>149807</bug_id>
          
          <creation_ts>2015-10-05 08:18:11 -0700</creation_ts>
          <short_desc>[Intl] Change the return type of canonicalizeLocaleList() from JSArray* to Vector&lt;String&gt;</short_desc>
          <delta_ts>2015-10-05 16:37:45 -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="Sukolsak Sakshuwong">sukolsak</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andy</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>sukolsak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1130616</commentid>
    <comment_count>0</comment_count>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-10-05 08:18:11 -0700</bug_when>
    <thetext>From ECMA-402, 9.2.1, the abstract operation CanonicalizeLocaleList returns a List of Strings. From the spec, we never modify the result from CanonicalizeLocaleList(). We never expose it to the user either. This patch changes the return type of canonicalizeLocaleList() from JSArray* to Vector&lt;String&gt;. This should ease the workload of the GC and make the code a bit easier to read.

http://www.ecma-international.org/ecma-402/1.0/ECMA-402.pdf</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130622</commentid>
    <comment_count>1</comment_count>
      <attachid>262439</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-10-05 08:26:49 -0700</bug_when>
    <thetext>Created attachment 262439
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130743</commentid>
    <comment_count>2</comment_count>
      <attachid>262439</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-10-05 14:44:12 -0700</bug_when>
    <thetext>Comment on attachment 262439
Patch

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

Ok

&gt; Source/JavaScriptCore/runtime/IntlCollatorConstructor.cpp:152
&gt; +    const Vector&lt;String&gt;&amp; requestedLocales = canonicalizeLocaleList(exec, exec-&gt;argument(0));

IMHO, using Vector&lt;String&gt; makes the lifetime clearer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130752</commentid>
    <comment_count>3</comment_count>
      <attachid>262467</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-10-05 15:05:24 -0700</bug_when>
    <thetext>Created attachment 262467
Use the LHS Vector&lt;String&gt; instead of const Vector&lt;String&gt;&amp;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130757</commentid>
    <comment_count>4</comment_count>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-10-05 15:18:47 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 262439 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=262439&amp;action=review
&gt; 
&gt; Ok
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/IntlCollatorConstructor.cpp:152
&gt; &gt; +    const Vector&lt;String&gt;&amp; requestedLocales = canonicalizeLocaleList(exec, exec-&gt;argument(0));
&gt; 
&gt; IMHO, using Vector&lt;String&gt; makes the lifetime clearer.

Thanks! Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130801</commentid>
    <comment_count>5</comment_count>
      <attachid>262467</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-05 16:37:42 -0700</bug_when>
    <thetext>Comment on attachment 262467
Use the LHS Vector&lt;String&gt; instead of const Vector&lt;String&gt;&amp;

Clearing flags on attachment: 262467

Committed r190591: &lt;http://trac.webkit.org/changeset/190591&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130802</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-05 16:37:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262439</attachid>
            <date>2015-10-05 08:26:49 -0700</date>
            <delta_ts>2015-10-05 15:05:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149807-20151005082701.patch</filename>
            <type>text/plain</type>
            <size>12260</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
ZGQ5ZWFmYTRkYzIwM2RmZjM1NmMwZTBkNmVjNzQ3NmFmYzUzYTc5Li5kMWZmMTBlMTU0MTRjNmMw
OTljYzEyYjk2M2NiY2E0ODNjMTY4N2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAxNS0xMC0wNSAgU3Vrb2xzYWsgU2Frc2h1d29uZyAgPHN1a29sc2FrQGdt
YWlsLmNvbT4KKworICAgICAgICBbSW50bF0gQ2hhbmdlIHRoZSByZXR1cm4gdHlwZSBvZiBjYW5v
bmljYWxpemVMb2NhbGVMaXN0KCkgZnJvbSBKU0FycmF5KiB0byBWZWN0b3I8U3RyaW5nPgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5ODA3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRnJvbSBFQ01BLTQw
MiwgOS4yLjEsIHRoZSBhYnN0cmFjdCBvcGVyYXRpb24gQ2Fub25pY2FsaXplTG9jYWxlTGlzdAor
ICAgICAgICByZXR1cm5zIGEgTGlzdCBvZiBTdHJpbmdzLiBGcm9tIHRoZSBzcGVjLCB3ZSBuZXZl
ciBtb2RpZnkgdGhlIHJlc3VsdAorICAgICAgICBmcm9tIENhbm9uaWNhbGl6ZUxvY2FsZUxpc3Qo
KS4gV2UgbmV2ZXIgZXhwb3NlIGl0IHRvIHRoZSB1c2VyIGVpdGhlci4KKyAgICAgICAgVGhpcyBw
YXRjaCBjaGFuZ2VzIHRoZSByZXR1cm4gdHlwZSBvZiBjYW5vbmljYWxpemVMb2NhbGVMaXN0KCkg
ZnJvbQorICAgICAgICBKU0FycmF5KiB0byBWZWN0b3I8U3RyaW5nPi4gVGhpcyBzaG91bGQgZWFz
ZSB0aGUgd29ya2xvYWQgb2YgdGhlIEdDIGFuZAorICAgICAgICBtYWtlIHRoZSBjb2RlIGEgYml0
IGVhc2llciB0byByZWFkLgorCisgICAgICAgICogcnVudGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkludGxDb2xsYXRvckNvbnN0cnVjdG9yRnVuY1N1cHBv
cnRlZExvY2FsZXNPZik6CisgICAgICAgICogcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25z
dHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9y
RnVuY1N1cHBvcnRlZExvY2FsZXNPZik6CisgICAgICAgICogcnVudGltZS9JbnRsTnVtYmVyRm9y
bWF0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpJbnRsTnVtYmVyRm9ybWF0Q29uc3Ry
dWN0b3JGdW5jU3VwcG9ydGVkTG9jYWxlc09mKToKKyAgICAgICAgKiBydW50aW1lL0ludGxPYmpl
Y3QuY3BwOgorICAgICAgICAoSlNDOjpjYW5vbmljYWxpemVMb2NhbGVMaXN0KToKKyAgICAgICAg
KEpTQzo6bG9va3VwU3VwcG9ydGVkTG9jYWxlcyk6CisgICAgICAgIChKU0M6OmJlc3RGaXRTdXBw
b3J0ZWRMb2NhbGVzKToKKyAgICAgICAgKEpTQzo6c3VwcG9ydGVkTG9jYWxlcyk6CisgICAgICAg
ICogcnVudGltZS9JbnRsT2JqZWN0Lmg6CisKIDIwMTUtMTAtMDQgIEZpbGlwIFBpemxvICA8ZnBp
emxvQGFwcGxlLmNvbT4KIAogICAgICAgICBDb2RlQmxvY2suaCBzaG91bGRuJ3QgYmUgaW5jbHVk
ZWQgZnJvbSBldmVyeXdoZXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMzEwN2IzZjVlOTRkYzhh
ZGViMWI5Njg1Y2ZiMzUwZjQ3MzFkZmRiOS4uMThiYmQwYmNlZjQyNDg5NjI1ZDliODdiYWQ0MzA1
YzA3NTk1MTM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
bENvbGxhdG9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGxDb2xsYXRvckNvbnN0cnVjdG9yLmNwcApAQCAtMjMsNyArMjMsNiBAQAogICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLQogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkludGxDb2xsYXRvckNvbnN0cnVjdG9yLmgiCiAKQEAgLTE1MCw3ICsxNDks
NyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEludGxDb2xsYXRvckNvbnN0cnVjdG9y
RnVuY1N1cHBvcnRlZExvY2FsZXNPZihFeGVjUwogICAgIC8vIDEwLjIuMiBJbnRsLkNvbGxhdG9y
LnN1cHBvcnRlZExvY2FsZXNPZihsb2NhbGVzIFssIG9wdGlvbnNdKSAoRUNNQS00MDIgMi4wKQog
CiAgICAgLy8gMS4gTGV0IHJlcXVlc3RlZExvY2FsZXMgYmUgQ2Fub25pY2FsaXplTG9jYWxlTGlz
dChsb2NhbGVzKS4KLSAgICBKU0FycmF5KiByZXF1ZXN0ZWRMb2NhbGVzID0gY2Fub25pY2FsaXpl
TG9jYWxlTGlzdChleGVjLCBleGVjLT5hcmd1bWVudCgwKSk7CisgICAgY29uc3QgVmVjdG9yPFN0
cmluZz4mIHJlcXVlc3RlZExvY2FsZXMgPSBjYW5vbmljYWxpemVMb2NhbGVMaXN0KGV4ZWMsIGV4
ZWMtPmFyZ3VtZW50KDApKTsKIAogICAgIC8vIDIuIFJldHVybklmQWJydXB0KHJlcXVlc3RlZExv
Y2FsZXMpLgogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdENvbnN0
cnVjdG9yLmNwcAppbmRleCA5OGQzYmJlM2Q0MGUyYWNmZWI3MjhmOGEzNjA1NDM0NTUyNjAzNzIx
Li4zM2MyYWZlMjc1N2M2YjFhYTczNDk0OTFkNzI2NjJkYTczNjhmNzM5IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rv
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9y
bWF0Q29uc3RydWN0b3IuY3BwCkBAIC0xNTQsNyArMTU0LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3RvckZ1bmNTdXBwb3J0ZWRMb2Nh
bGVzT2YKICAgICBjb25zdCBIYXNoU2V0PFN0cmluZz4gYXZhaWxhYmxlTG9jYWxlcyA9IGdsb2Jh
bE9iamVjdC0+aW50bERhdGVUaW1lRm9ybWF0QXZhaWxhYmxlTG9jYWxlcygpOwogCiAgICAgLy8g
Mi4gTGV0IHJlcXVlc3RlZExvY2FsZXMgYmUgQ2Fub25pY2FsaXplTG9jYWxlTGlzdChsb2NhbGVz
KS4KLSAgICBKU0FycmF5KiByZXF1ZXN0ZWRMb2NhbGVzID0gY2Fub25pY2FsaXplTG9jYWxlTGlz
dChleGVjLCBleGVjLT5hcmd1bWVudCgwKSk7CisgICAgY29uc3QgVmVjdG9yPFN0cmluZz4mIHJl
cXVlc3RlZExvY2FsZXMgPSBjYW5vbmljYWxpemVMb2NhbGVMaXN0KGV4ZWMsIGV4ZWMtPmFyZ3Vt
ZW50KDApKTsKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3IuY3Bw
CmluZGV4IGQwNjZlZTgwNGJmNzg2MmQwNGNlMWNhZDk3ZmZiZWIxYzFmY2M2MDguLjI1M2UzODgy
MDUzYmYwMjBiOTU2MjhiYWQ5YmRlZWZjNWFjNWEyMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rvci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9y
LmNwcApAQCAtMTU0LDcgKzE1NCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSW50
bE51bWJlckZvcm1hdENvbnN0cnVjdG9yRnVuY1N1cHBvcnRlZExvY2FsZXNPZihFCiAgICAgY29u
c3QgSGFzaFNldDxTdHJpbmc+IGF2YWlsYWJsZUxvY2FsZXMgPSBnbG9iYWxPYmplY3QtPmludGxO
dW1iZXJGb3JtYXRBdmFpbGFibGVMb2NhbGVzKCk7CiAKICAgICAvLyAyLiBMZXQgcmVxdWVzdGVk
TG9jYWxlcyBiZSBDYW5vbmljYWxpemVMb2NhbGVMaXN0KGxvY2FsZXMpLgotICAgIEpTQXJyYXkq
IHJlcXVlc3RlZExvY2FsZXMgPSBjYW5vbmljYWxpemVMb2NhbGVMaXN0KGV4ZWMsIGV4ZWMtPmFy
Z3VtZW50KDApKTsKKyAgICBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcmVxdWVzdGVkTG9jYWxlcyA9
IGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QoZXhlYywgZXhlYy0+YXJndW1lbnQoMCkpOwogICAgIGlm
IChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1VuZGVmaW5lZCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50bE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsT2Jq
ZWN0LmNwcAppbmRleCA2Nzk5Yjg4ZGNhNmRiNjAyY2RmMGRmZDU1OGU2YzdhMjljYjcxNGJmLi45
NDE3MTFiYmQwMTc2ZDcyZGQ3MWI4YTUyMGEzODQzZTAxMzU4YTg3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnRsT2JqZWN0LmNwcApAQCAtNDI3LDE2ICs0MjcsMTIgQEAg
c3RhdGljIFN0cmluZyBjYW5vbmljYWxpemVMYW5ndWFnZVRhZyhjb25zdCBTdHJpbmcmIGxvY2Fs
ZSkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKLUpTQXJyYXkqIGNhbm9uaWNhbGl6ZUxvY2Fs
ZUxpc3QoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGxvY2FsZXMpCitWZWN0b3I8U3RyaW5nPiBj
YW5vbmljYWxpemVMb2NhbGVMaXN0KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBsb2NhbGVzKQog
ewogICAgIC8vIDkuMi4xIENhbm9uaWNhbGl6ZUxvY2FsZUxpc3QgKGxvY2FsZXMpCiAgICAgVk0m
IHZtID0gZXhlYy0+dm0oKTsKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhl
Yy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOwotICAgIEpTQXJyYXkqIHNlZW4gPSBKU0FycmF5
Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVkKHZtLCBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJl
Rm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhDb250aWd1b3VzKSwgMCk7
Ci0gICAgaWYgKCFzZWVuKSB7Ci0gICAgICAgIHRocm93T3V0T2ZNZW1vcnlFcnJvcihleGVjKTsK
LSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQorICAgIFZlY3RvcjxTdHJpbmc+IHNlZW47
CiAKICAgICAvLyAxLiBJZiBsb2NhbGVzIGlzIHVuZGVmaW5lZCwgdGhlbiBhLiBSZXR1cm4gYSBu
ZXcgZW1wdHkgTGlzdC4KICAgICBpZiAobG9jYWxlcy5pc1VuZGVmaW5lZCgpKQpAQCAtNDYwLDE2
ICs0NTYsMTYgQEAgSlNBcnJheSogY2Fub25pY2FsaXplTG9jYWxlTGlzdChFeGVjU3RhdGUqIGV4
ZWMsIEpTVmFsdWUgbG9jYWxlcykKIAogICAgIC8vIDUuIFJldHVybklmQWJydXB0KE8pLgogICAg
IGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAg
ICAgIHJldHVybiBWZWN0b3I8U3RyaW5nPigpOwogCiAgICAgLy8gNi4gTGV0IGxlbiBiZSBUb0xl
bmd0aChHZXQoTywgImxlbmd0aCIpKS4KICAgICBKU1ZhbHVlIGxlbmd0aFByb3BlcnR5ID0gbG9j
YWxlc09iamVjdC0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCk7CiAgICAgaWYg
KGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAg
cmV0dXJuIFZlY3RvcjxTdHJpbmc+KCk7CiAKICAgICBkb3VibGUgbGVuZ3RoID0gbGVuZ3RoUHJv
cGVydHkudG9MZW5ndGgoZXhlYyk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQotICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIFZlY3RvcjxTdHJpbmc+KCk7CiAK
ICAgICAvLyBLZWVwIHRyYWNrIG9mIGxvY2FsZXMgdGhhdCBoYXZlIGJlZW4gYWRkZWQgdG8gdGhl
IGxpc3QuCiAgICAgSGFzaFNldDxTdHJpbmc+IHNlZW5TZXQ7CkBAIC00ODUsNyArNDgxLDcgQEAg
SlNBcnJheSogY2Fub25pY2FsaXplTG9jYWxlTGlzdChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUg
bG9jYWxlcykKIAogICAgICAgICAvLyBjLiBSZXR1cm5JZkFicnVwdChrUHJlc2VudCkuCiAgICAg
ICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKLSAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworICAgICAgICAgICAgcmV0dXJuIFZlY3RvcjxTdHJpbmc+KCk7CiAKICAgICAgICAgLy8gZC4g
SWYga1ByZXNlbnQgaXMgdHJ1ZSwgdGhlbgogICAgICAgICBpZiAoa1ByZXNlbnQpIHsKQEAgLTQ5
NCwxMiArNDkwLDEyIEBAIEpTQXJyYXkqIGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QoRXhlY1N0YXRl
KiBleGVjLCBKU1ZhbHVlIGxvY2FsZXMpCiAKICAgICAgICAgICAgIC8vIGlpLiBSZXR1cm5JZkFi
cnVwdChrVmFsdWUpLgogICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQotICAg
ICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgICAgIHJldHVybiBWZWN0
b3I8U3RyaW5nPigpOwogCiAgICAgICAgICAgICAvLyBpaWkuIElmIFR5cGUoa1ZhbHVlKSBpcyBu
b3QgU3RyaW5nIG9yIE9iamVjdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogICAgICAg
ICAgICAgaWYgKCFrVmFsdWUuaXNTdHJpbmcoKSAmJiAha1ZhbHVlLmlzT2JqZWN0KCkpIHsKICAg
ICAgICAgICAgICAgICB0aHJvd1R5cGVFcnJvcihleGVjLCBBU0NJSUxpdGVyYWwoImxvY2FsZSB2
YWx1ZSBtdXN0IGJlIGEgc3RyaW5nIG9yIG9iamVjdCIpKTsKLSAgICAgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICByZXR1cm4gVmVjdG9yPFN0cmluZz4oKTsKICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgLy8gaXYuIExldCB0YWcgYmUgVG9TdHJpbmcoa1Zh
bHVlKS4KQEAgLTUwNywxOSArNTAzLDE5IEBAIEpTQXJyYXkqIGNhbm9uaWNhbGl6ZUxvY2FsZUxp
c3QoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGxvY2FsZXMpCiAKICAgICAgICAgICAgIC8vIHYu
IFJldHVybklmQWJydXB0KHRhZykuCiAgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9u
KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICAgICAgcmV0
dXJuIFZlY3RvcjxTdHJpbmc+KCk7CiAKICAgICAgICAgICAgIC8vIHZpLiBJZiBJc1N0cnVjdHVy
YWxseVZhbGlkTGFuZ3VhZ2VUYWcodGFnKSBpcyBmYWxzZSwgdGhyb3cgYSBSYW5nZUVycm9yIGV4
Y2VwdGlvbi4KICAgICAgICAgICAgIC8vIHZpaS4gTGV0IGNhbm9uaWNhbGl6ZWRUYWcgYmUgQ2Fu
b25pY2FsaXplTGFuZ3VhZ2VUYWcodGFnKS4KICAgICAgICAgICAgIFN0cmluZyBjYW5vbmljYWxp
emVkVGFnID0gY2Fub25pY2FsaXplTGFuZ3VhZ2VUYWcodGFnLT52YWx1ZShleGVjKSk7CiAgICAg
ICAgICAgICBpZiAoY2Fub25pY2FsaXplZFRhZy5pc051bGwoKSkgewogICAgICAgICAgICAgICAg
IGV4ZWMtPnZtKCkudGhyb3dFeGNlcHRpb24oZXhlYywgY3JlYXRlUmFuZ2VFcnJvcihleGVjLCBT
dHJpbmc6OmZvcm1hdCgiaW52YWxpZCBsYW5ndWFnZSB0YWc6ICVzIiwgdGFnLT52YWx1ZShleGVj
KS51dGY4KCkuZGF0YSgpKSkpOwotICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAg
ICAgICAgICAgICAgIHJldHVybiBWZWN0b3I8U3RyaW5nPigpOwogICAgICAgICAgICAgfQogCiAg
ICAgICAgICAgICAvLyB2aWlpLiBJZiBjYW5vbmljYWxpemVkVGFnIGlzIG5vdCBhbiBlbGVtZW50
IG9mIHNlZW4sIGFwcGVuZCBjYW5vbmljYWxpemVkVGFnIGFzIHRoZSBsYXN0IGVsZW1lbnQgb2Yg
c2Vlbi4KICAgICAgICAgICAgIGlmIChzZWVuU2V0LmFkZChjYW5vbmljYWxpemVkVGFnKS5pc05l
d0VudHJ5KQotICAgICAgICAgICAgICAgIHNlZW4tPnB1c2goZXhlYywganNTdHJpbmcoZXhlYywg
Y2Fub25pY2FsaXplZFRhZykpOworICAgICAgICAgICAgICAgIHNlZW4uYXBwZW5kKGNhbm9uaWNh
bGl6ZWRUYWcpOwogICAgICAgICB9CiAgICAgICAgIC8vIGUuIEluY3JlYXNlIGsgYnkgMS4KICAg
ICB9CkBAIC01NTUsNyArNTUxLDcgQEAgc3RhdGljIFN0cmluZyBiZXN0QXZhaWxhYmxlTG9jYWxl
KGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYgYXZhaWxhYmxlTG9jYWxlcywgY29uc3QKICAgICByZXR1
cm4gU3RyaW5nKCk7CiB9CiAKLXN0YXRpYyBKU0FycmF5KiBsb29rdXBTdXBwb3J0ZWRMb2NhbGVz
KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSGFzaFNldDxTdHJpbmc+JiBhdmFpbGFibGVMb2NhbGVz
LCBKU0FycmF5KiByZXF1ZXN0ZWRMb2NhbGVzKQorc3RhdGljIEpTQXJyYXkqIGxvb2t1cFN1cHBv
cnRlZExvY2FsZXMoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBIYXNoU2V0PFN0cmluZz4mIGF2YWls
YWJsZUxvY2FsZXMsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiByZXF1ZXN0ZWRMb2NhbGVzKQogewog
ICAgIC8vIDkuMi42IExvb2t1cFN1cHBvcnRlZExvY2FsZXMgKGF2YWlsYWJsZUxvY2FsZXMsIHJl
cXVlc3RlZExvY2FsZXMpCiAKQEAgLTU2Myw3ICs1NTksNyBAQCBzdGF0aWMgSlNBcnJheSogbG9v
a3VwU3VwcG9ydGVkTG9jYWxlcyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEhhc2hTZXQ8U3RyaW5n
PiYgYQogICAgIC8vIEFscmVhZHkgYW4gYXJyYXkuCiAKICAgICAvLyAyLiBMZXQgbGVuIGJlIFRv
TGVuZ3RoKEdldChyTG9jYWxlcywgImxlbmd0aCIpKS4KLSAgICB1bnNpZ25lZCBsZW4gPSByZXF1
ZXN0ZWRMb2NhbGVzLT5sZW5ndGgoKTsKKyAgICBzaXplX3QgbGVuID0gcmVxdWVzdGVkTG9jYWxl
cy5zaXplKCk7CiAKICAgICAvLyAzLiBMZXQgc3Vic2V0IGJlIGFuIGVtcHR5IExpc3QuCiAgICAg
Vk0mIHZtID0gZXhlYy0+dm0oKTsKQEAgLTU3NiwyMyArNTcyLDE1IEBAIHN0YXRpYyBKU0FycmF5
KiBsb29rdXBTdXBwb3J0ZWRMb2NhbGVzKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSGFzaFNldDxT
dHJpbmc+JiBhCiAKICAgICAvLyA0LiBMZXQgayBiZSAwLgogICAgIC8vIDUuIFJlcGVhdCB3aGls
ZSBrIDwgbGVuCi0gICAgZm9yICh1bnNpZ25lZCBrID0gMDsgayA8IGxlbjsgKytrKSB7CisgICAg
Zm9yIChzaXplX3QgayA9IDA7IGsgPCBsZW47ICsraykgewogICAgICAgICAvLyBhLiBMZXQgUGsg
YmUgVG9TdHJpbmcoaykuCiAgICAgICAgIC8vIGIuIExldCBsb2NhbGUgYmUgR2V0KHJMb2NhbGVz
LCBQaykuCi0gICAgICAgIEpTVmFsdWUgbG9jYWxlID0gcmVxdWVzdGVkTG9jYWxlcy0+Z2V0KGV4
ZWMsIGspOwotCiAgICAgICAgIC8vIGMuIFJldHVybklmQWJydXB0KGxvY2FsZSkuCi0gICAgICAg
IGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgICAgICBTdHJpbmcgbG9jYWxlID0gcmVxdWVzdGVkTG9jYWxlc1trXTsKIAogICAgICAgICAv
LyBkLiBMZXQgbm9FeHRlbnNpb25zTG9jYWxlIGJlIHRoZSBTdHJpbmcgdmFsdWUgdGhhdCBpcyBs
b2NhbGUgd2l0aCBhbGwgVW5pY29kZSBsb2NhbGUgZXh0ZW5zaW9uIHNlcXVlbmNlcyByZW1vdmVk
LgotICAgICAgICBKU1N0cmluZyoganNMb2NhbGUgPSBsb2NhbGUudG9TdHJpbmcoZXhlYyk7Ci0g
ICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKLSAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOwotCi0gICAgICAgIFN0cmluZyBzTG9jYWxlID0ganNMb2NhbGUtPnZhbHVlKGV4ZWMpOwog
ICAgICAgICBWZWN0b3I8U3RyaW5nPiBwYXJ0czsKLSAgICAgICAgc0xvY2FsZS5zcGxpdCgnLScs
IHBhcnRzKTsKKyAgICAgICAgbG9jYWxlLnNwbGl0KCctJywgcGFydHMpOwogICAgICAgICBTdHJp
bmdCdWlsZGVyIGJ1aWxkZXI7CiAgICAgICAgIHNpemVfdCBwYXJ0c1NpemUgPSBwYXJ0cy5zaXpl
KCk7CiAgICAgICAgIGlmIChwYXJ0c1NpemUgPiAwKQpAQCAtNjE1LDcgKzYwMyw3IEBAIHN0YXRp
YyBKU0FycmF5KiBsb29rdXBTdXBwb3J0ZWRMb2NhbGVzKEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
SGFzaFNldDxTdHJpbmc+JiBhCiAKICAgICAgICAgLy8gZi4gSWYgYXZhaWxhYmxlTG9jYWxlIGlz
IG5vdCB1bmRlZmluZWQsIHRoZW4gYXBwZW5kIGxvY2FsZSB0byB0aGUgZW5kIG9mIHN1YnNldC4K
ICAgICAgICAgaWYgKCFhdmFpbGFibGVMb2NhbGUuaXNOdWxsKCkpCi0gICAgICAgICAgICBzdWJz
ZXQtPnB1c2goZXhlYywgbG9jYWxlKTsKKyAgICAgICAgICAgIHN1YnNldC0+cHVzaChleGVjLCBq
c1N0cmluZyhleGVjLCBsb2NhbGUpKTsKIAogICAgICAgICAvLyBnLiBJbmNyZW1lbnQgayBieSAx
LgogICAgIH0KQEAgLTYyNCwxNCArNjEyLDE0IEBAIHN0YXRpYyBKU0FycmF5KiBsb29rdXBTdXBw
b3J0ZWRMb2NhbGVzKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSGFzaFNldDxTdHJpbmc+JiBhCiAg
ICAgcmV0dXJuIHN1YnNldDsKIH0KIAotc3RhdGljIEpTQXJyYXkqIGJlc3RGaXRTdXBwb3J0ZWRM
b2NhbGVzKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSGFzaFNldDxTdHJpbmc+JiBhdmFpbGFibGVM
b2NhbGVzLCBKU0FycmF5KiByZXF1ZXN0ZWRMb2NhbGVzKQorc3RhdGljIEpTQXJyYXkqIGJlc3RG
aXRTdXBwb3J0ZWRMb2NhbGVzKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSGFzaFNldDxTdHJpbmc+
JiBhdmFpbGFibGVMb2NhbGVzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcmVxdWVzdGVkTG9jYWxl
cykKIHsKICAgICAvLyA5LjIuNyBCZXN0Rml0U3VwcG9ydGVkTG9jYWxlcyAoYXZhaWxhYmxlTG9j
YWxlcywgcmVxdWVzdGVkTG9jYWxlcykKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHNvbWV0aGlu
ZyBiZXR0ZXIgdGhhbiBsb29rdXAuCiAgICAgcmV0dXJuIGxvb2t1cFN1cHBvcnRlZExvY2FsZXMo
ZXhlYywgYXZhaWxhYmxlTG9jYWxlcywgcmVxdWVzdGVkTG9jYWxlcyk7CiB9CiAKLUpTVmFsdWUg
c3VwcG9ydGVkTG9jYWxlcyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYg
YXZhaWxhYmxlTG9jYWxlcywgSlNBcnJheSogcmVxdWVzdGVkTG9jYWxlcywgSlNWYWx1ZSBvcHRp
b25zKQorSlNWYWx1ZSBzdXBwb3J0ZWRMb2NhbGVzKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSGFz
aFNldDxTdHJpbmc+JiBhdmFpbGFibGVMb2NhbGVzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcmVx
dWVzdGVkTG9jYWxlcywgSlNWYWx1ZSBvcHRpb25zKQogewogICAgIC8vIDkuMi44IFN1cHBvcnRl
ZExvY2FsZXMgKGF2YWlsYWJsZUxvY2FsZXMsIHJlcXVlc3RlZExvY2FsZXMsIG9wdGlvbnMpCiAg
ICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
dGxPYmplY3QuaAppbmRleCBmZGU2MmI1M2E2NjA1NzJkZGM5OTQyMDM3NTJiN2VkN2VkMDJhNjhl
Li44NDliZGIzOTAyNDQ3YmNmOThhY2VjNzA5NWYwYjIxZDY1MjZlYTg0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsT2JqZWN0LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVjdC5oCkBAIC01Nyw4ICs1Nyw4IEBAIHByaXZh
dGU6CiAgICAgSW50bE9iamVjdChWTSYsIFN0cnVjdHVyZSopOwogfTsKIAotSlNBcnJheSogY2Fu
b25pY2FsaXplTG9jYWxlTGlzdChFeGVjU3RhdGUqLCBKU1ZhbHVlIGxvY2FsZXMpOwotSlNWYWx1
ZSBzdXBwb3J0ZWRMb2NhbGVzKEV4ZWNTdGF0ZSosIGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYgYXZh
aWxhYmxlTG9jYWxlcywgSlNBcnJheSogcmVxdWVzdGVkTG9jYWxlcywgSlNWYWx1ZSBvcHRpb25z
KTsKK1ZlY3RvcjxTdHJpbmc+IGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QoRXhlY1N0YXRlKiwgSlNW
YWx1ZSBsb2NhbGVzKTsKK0pTVmFsdWUgc3VwcG9ydGVkTG9jYWxlcyhFeGVjU3RhdGUqLCBjb25z
dCBIYXNoU2V0PFN0cmluZz4mIGF2YWlsYWJsZUxvY2FsZXMsIGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiByZXF1ZXN0ZWRMb2NhbGVzLCBKU1ZhbHVlIG9wdGlvbnMpOwogCiB9IC8vIG5hbWVzcGFjZSBK
U0MKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262467</attachid>
            <date>2015-10-05 15:05:24 -0700</date>
            <delta_ts>2015-10-05 16:37:42 -0700</delta_ts>
            <desc>Use the LHS Vector&lt;String&gt; instead of const Vector&lt;String&gt;&amp;</desc>
            <filename>bug-149807-20151005150539.patch</filename>
            <type>text/plain</type>
            <size>12239</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
ZGQ5ZWFmYTRkYzIwM2RmZjM1NmMwZTBkNmVjNzQ3NmFmYzUzYTc5Li5kMWZmMTBlMTU0MTRjNmMw
OTljYzEyYjk2M2NiY2E0ODNjMTY4N2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAxNS0xMC0wNSAgU3Vrb2xzYWsgU2Frc2h1d29uZyAgPHN1a29sc2FrQGdt
YWlsLmNvbT4KKworICAgICAgICBbSW50bF0gQ2hhbmdlIHRoZSByZXR1cm4gdHlwZSBvZiBjYW5v
bmljYWxpemVMb2NhbGVMaXN0KCkgZnJvbSBKU0FycmF5KiB0byBWZWN0b3I8U3RyaW5nPgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5ODA3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRnJvbSBFQ01BLTQw
MiwgOS4yLjEsIHRoZSBhYnN0cmFjdCBvcGVyYXRpb24gQ2Fub25pY2FsaXplTG9jYWxlTGlzdAor
ICAgICAgICByZXR1cm5zIGEgTGlzdCBvZiBTdHJpbmdzLiBGcm9tIHRoZSBzcGVjLCB3ZSBuZXZl
ciBtb2RpZnkgdGhlIHJlc3VsdAorICAgICAgICBmcm9tIENhbm9uaWNhbGl6ZUxvY2FsZUxpc3Qo
KS4gV2UgbmV2ZXIgZXhwb3NlIGl0IHRvIHRoZSB1c2VyIGVpdGhlci4KKyAgICAgICAgVGhpcyBw
YXRjaCBjaGFuZ2VzIHRoZSByZXR1cm4gdHlwZSBvZiBjYW5vbmljYWxpemVMb2NhbGVMaXN0KCkg
ZnJvbQorICAgICAgICBKU0FycmF5KiB0byBWZWN0b3I8U3RyaW5nPi4gVGhpcyBzaG91bGQgZWFz
ZSB0aGUgd29ya2xvYWQgb2YgdGhlIEdDIGFuZAorICAgICAgICBtYWtlIHRoZSBjb2RlIGEgYml0
IGVhc2llciB0byByZWFkLgorCisgICAgICAgICogcnVudGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkludGxDb2xsYXRvckNvbnN0cnVjdG9yRnVuY1N1cHBv
cnRlZExvY2FsZXNPZik6CisgICAgICAgICogcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25z
dHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9y
RnVuY1N1cHBvcnRlZExvY2FsZXNPZik6CisgICAgICAgICogcnVudGltZS9JbnRsTnVtYmVyRm9y
bWF0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpJbnRsTnVtYmVyRm9ybWF0Q29uc3Ry
dWN0b3JGdW5jU3VwcG9ydGVkTG9jYWxlc09mKToKKyAgICAgICAgKiBydW50aW1lL0ludGxPYmpl
Y3QuY3BwOgorICAgICAgICAoSlNDOjpjYW5vbmljYWxpemVMb2NhbGVMaXN0KToKKyAgICAgICAg
KEpTQzo6bG9va3VwU3VwcG9ydGVkTG9jYWxlcyk6CisgICAgICAgIChKU0M6OmJlc3RGaXRTdXBw
b3J0ZWRMb2NhbGVzKToKKyAgICAgICAgKEpTQzo6c3VwcG9ydGVkTG9jYWxlcyk6CisgICAgICAg
ICogcnVudGltZS9JbnRsT2JqZWN0Lmg6CisKIDIwMTUtMTAtMDQgIEZpbGlwIFBpemxvICA8ZnBp
emxvQGFwcGxlLmNvbT4KIAogICAgICAgICBDb2RlQmxvY2suaCBzaG91bGRuJ3QgYmUgaW5jbHVk
ZWQgZnJvbSBldmVyeXdoZXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMzEwN2IzZjVlOTRkYzhh
ZGViMWI5Njg1Y2ZiMzUwZjQ3MzFkZmRiOS4uMGU5OTI4ZjdkYmY1ZTIzMDNhNTA3NjA4YzkxYWU1
ODE4MDVkNjc1YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
bENvbGxhdG9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGxDb2xsYXRvckNvbnN0cnVjdG9yLmNwcApAQCAtMjMsNyArMjMsNiBAQAogICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLQogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkludGxDb2xsYXRvckNvbnN0cnVjdG9yLmgiCiAKQEAgLTE1MCw3ICsxNDks
NyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEludGxDb2xsYXRvckNvbnN0cnVjdG9y
RnVuY1N1cHBvcnRlZExvY2FsZXNPZihFeGVjUwogICAgIC8vIDEwLjIuMiBJbnRsLkNvbGxhdG9y
LnN1cHBvcnRlZExvY2FsZXNPZihsb2NhbGVzIFssIG9wdGlvbnNdKSAoRUNNQS00MDIgMi4wKQog
CiAgICAgLy8gMS4gTGV0IHJlcXVlc3RlZExvY2FsZXMgYmUgQ2Fub25pY2FsaXplTG9jYWxlTGlz
dChsb2NhbGVzKS4KLSAgICBKU0FycmF5KiByZXF1ZXN0ZWRMb2NhbGVzID0gY2Fub25pY2FsaXpl
TG9jYWxlTGlzdChleGVjLCBleGVjLT5hcmd1bWVudCgwKSk7CisgICAgVmVjdG9yPFN0cmluZz4g
cmVxdWVzdGVkTG9jYWxlcyA9IGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QoZXhlYywgZXhlYy0+YXJn
dW1lbnQoMCkpOwogCiAgICAgLy8gMi4gUmV0dXJuSWZBYnJ1cHQocmVxdWVzdGVkTG9jYWxlcyku
CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3Iu
Y3BwCmluZGV4IDk4ZDNiYmUzZDQwZTJhY2ZlYjcyOGY4YTM2MDU0MzQ1NTI2MDM3MjEuLjcyODNi
MTUxMDg4YjExNGY1YjVlMjUzYzJkNDI5OTcyYmU1NmJlMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25z
dHJ1Y3Rvci5jcHAKQEAgLTE1NCw3ICsxNTQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yRnVuY1N1cHBvcnRlZExvY2FsZXNPZgog
ICAgIGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiBhdmFpbGFibGVMb2NhbGVzID0gZ2xvYmFsT2JqZWN0
LT5pbnRsRGF0ZVRpbWVGb3JtYXRBdmFpbGFibGVMb2NhbGVzKCk7CiAKICAgICAvLyAyLiBMZXQg
cmVxdWVzdGVkTG9jYWxlcyBiZSBDYW5vbmljYWxpemVMb2NhbGVMaXN0KGxvY2FsZXMpLgotICAg
IEpTQXJyYXkqIHJlcXVlc3RlZExvY2FsZXMgPSBjYW5vbmljYWxpemVMb2NhbGVMaXN0KGV4ZWMs
IGV4ZWMtPmFyZ3VtZW50KDApKTsKKyAgICBWZWN0b3I8U3RyaW5nPiByZXF1ZXN0ZWRMb2NhbGVz
ID0gY2Fub25pY2FsaXplTG9jYWxlTGlzdChleGVjLCBleGVjLT5hcmd1bWVudCgwKSk7CiAgICAg
aWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLmNwcAppbmRleCBkMDY2ZWU4
MDRiZjc4NjJkMDRjZTFjYWQ5N2ZmYmViMWMxZmNjNjA4Li4yNDI5YzE4MjM3MjkyNTk2ZWQwMTZl
YzIxNWExNTMzZDdlNGQwMzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rvci5jcHAKQEAgLTE1NCw3
ICsxNTQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEludGxOdW1iZXJGb3JtYXRD
b25zdHJ1Y3RvckZ1bmNTdXBwb3J0ZWRMb2NhbGVzT2YoRQogICAgIGNvbnN0IEhhc2hTZXQ8U3Ry
aW5nPiBhdmFpbGFibGVMb2NhbGVzID0gZ2xvYmFsT2JqZWN0LT5pbnRsTnVtYmVyRm9ybWF0QXZh
aWxhYmxlTG9jYWxlcygpOwogCiAgICAgLy8gMi4gTGV0IHJlcXVlc3RlZExvY2FsZXMgYmUgQ2Fu
b25pY2FsaXplTG9jYWxlTGlzdChsb2NhbGVzKS4KLSAgICBKU0FycmF5KiByZXF1ZXN0ZWRMb2Nh
bGVzID0gY2Fub25pY2FsaXplTG9jYWxlTGlzdChleGVjLCBleGVjLT5hcmd1bWVudCgwKSk7Cisg
ICAgVmVjdG9yPFN0cmluZz4gcmVxdWVzdGVkTG9jYWxlcyA9IGNhbm9uaWNhbGl6ZUxvY2FsZUxp
c3QoZXhlYywgZXhlYy0+YXJndW1lbnQoMCkpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24o
KSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVjdC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsT2JqZWN0LmNwcAppbmRleCA2Nzk5Yjg4
ZGNhNmRiNjAyY2RmMGRmZDU1OGU2YzdhMjljYjcxNGJmLi45NDE3MTFiYmQwMTc2ZDcyZGQ3MWI4
YTUyMGEzODQzZTAxMzU4YTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9J
bnRsT2JqZWN0LmNwcApAQCAtNDI3LDE2ICs0MjcsMTIgQEAgc3RhdGljIFN0cmluZyBjYW5vbmlj
YWxpemVMYW5ndWFnZVRhZyhjb25zdCBTdHJpbmcmIGxvY2FsZSkKICAgICByZXR1cm4gU3RyaW5n
KCk7CiB9CiAKLUpTQXJyYXkqIGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QoRXhlY1N0YXRlKiBleGVj
LCBKU1ZhbHVlIGxvY2FsZXMpCitWZWN0b3I8U3RyaW5nPiBjYW5vbmljYWxpemVMb2NhbGVMaXN0
KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBsb2NhbGVzKQogewogICAgIC8vIDkuMi4xIENhbm9u
aWNhbGl6ZUxvY2FsZUxpc3QgKGxvY2FsZXMpCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAg
ICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9i
amVjdCgpOwotICAgIEpTQXJyYXkqIHNlZW4gPSBKU0FycmF5Ojp0cnlDcmVhdGVVbmluaXRpYWxp
emVkKHZtLCBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5n
QWxsb2NhdGlvbihBcnJheVdpdGhDb250aWd1b3VzKSwgMCk7Ci0gICAgaWYgKCFzZWVuKSB7Ci0g
ICAgICAgIHRocm93T3V0T2ZNZW1vcnlFcnJvcihleGVjKTsKLSAgICAgICAgcmV0dXJuIG51bGxw
dHI7Ci0gICAgfQorICAgIFZlY3RvcjxTdHJpbmc+IHNlZW47CiAKICAgICAvLyAxLiBJZiBsb2Nh
bGVzIGlzIHVuZGVmaW5lZCwgdGhlbiBhLiBSZXR1cm4gYSBuZXcgZW1wdHkgTGlzdC4KICAgICBp
ZiAobG9jYWxlcy5pc1VuZGVmaW5lZCgpKQpAQCAtNDYwLDE2ICs0NTYsMTYgQEAgSlNBcnJheSog
Y2Fub25pY2FsaXplTG9jYWxlTGlzdChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgbG9jYWxlcykK
IAogICAgIC8vIDUuIFJldHVybklmQWJydXB0KE8pLgogICAgIGlmIChleGVjLT5oYWRFeGNlcHRp
b24oKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBWZWN0b3I8U3Ry
aW5nPigpOwogCiAgICAgLy8gNi4gTGV0IGxlbiBiZSBUb0xlbmd0aChHZXQoTywgImxlbmd0aCIp
KS4KICAgICBKU1ZhbHVlIGxlbmd0aFByb3BlcnR5ID0gbG9jYWxlc09iamVjdC0+Z2V0KGV4ZWMs
IHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigp
KQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIFZlY3RvcjxTdHJpbmc+
KCk7CiAKICAgICBkb3VibGUgbGVuZ3RoID0gbGVuZ3RoUHJvcGVydHkudG9MZW5ndGgoZXhlYyk7
CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICAgICAgcmV0dXJuIFZlY3RvcjxTdHJpbmc+KCk7CiAKICAgICAvLyBLZWVwIHRyYWNrIG9m
IGxvY2FsZXMgdGhhdCBoYXZlIGJlZW4gYWRkZWQgdG8gdGhlIGxpc3QuCiAgICAgSGFzaFNldDxT
dHJpbmc+IHNlZW5TZXQ7CkBAIC00ODUsNyArNDgxLDcgQEAgSlNBcnJheSogY2Fub25pY2FsaXpl
TG9jYWxlTGlzdChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgbG9jYWxlcykKIAogICAgICAgICAv
LyBjLiBSZXR1cm5JZkFicnVwdChrUHJlc2VudCkuCiAgICAgICAgIGlmIChleGVjLT5oYWRFeGNl
cHRpb24oKSkKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgcmV0dXJu
IFZlY3RvcjxTdHJpbmc+KCk7CiAKICAgICAgICAgLy8gZC4gSWYga1ByZXNlbnQgaXMgdHJ1ZSwg
dGhlbgogICAgICAgICBpZiAoa1ByZXNlbnQpIHsKQEAgLTQ5NCwxMiArNDkwLDEyIEBAIEpTQXJy
YXkqIGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGxvY2Fs
ZXMpCiAKICAgICAgICAgICAgIC8vIGlpLiBSZXR1cm5JZkFicnVwdChrVmFsdWUpLgogICAgICAg
ICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQotICAgICAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgICAgICAgICAgICAgIHJldHVybiBWZWN0b3I8U3RyaW5nPigpOwogCiAgICAg
ICAgICAgICAvLyBpaWkuIElmIFR5cGUoa1ZhbHVlKSBpcyBub3QgU3RyaW5nIG9yIE9iamVjdCwg
dGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogICAgICAgICAgICAgaWYgKCFrVmFsdWUuaXNT
dHJpbmcoKSAmJiAha1ZhbHVlLmlzT2JqZWN0KCkpIHsKICAgICAgICAgICAgICAgICB0aHJvd1R5
cGVFcnJvcihleGVjLCBBU0NJSUxpdGVyYWwoImxvY2FsZSB2YWx1ZSBtdXN0IGJlIGEgc3RyaW5n
IG9yIG9iamVjdCIpKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gVmVjdG9yPFN0cmluZz4oKTsKICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgLy8gaXYuIExldCB0YWcgYmUgVG9TdHJpbmcoa1ZhbHVlKS4KQEAgLTUwNywxOSArNTAz
LDE5IEBAIEpTQXJyYXkqIGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QoRXhlY1N0YXRlKiBleGVjLCBK
U1ZhbHVlIGxvY2FsZXMpCiAKICAgICAgICAgICAgIC8vIHYuIFJldHVybklmQWJydXB0KHRhZyku
CiAgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICAgICAgcmV0dXJuIFZlY3RvcjxTdHJpbmc+KCk7
CiAKICAgICAgICAgICAgIC8vIHZpLiBJZiBJc1N0cnVjdHVyYWxseVZhbGlkTGFuZ3VhZ2VUYWco
dGFnKSBpcyBmYWxzZSwgdGhyb3cgYSBSYW5nZUVycm9yIGV4Y2VwdGlvbi4KICAgICAgICAgICAg
IC8vIHZpaS4gTGV0IGNhbm9uaWNhbGl6ZWRUYWcgYmUgQ2Fub25pY2FsaXplTGFuZ3VhZ2VUYWco
dGFnKS4KICAgICAgICAgICAgIFN0cmluZyBjYW5vbmljYWxpemVkVGFnID0gY2Fub25pY2FsaXpl
TGFuZ3VhZ2VUYWcodGFnLT52YWx1ZShleGVjKSk7CiAgICAgICAgICAgICBpZiAoY2Fub25pY2Fs
aXplZFRhZy5pc051bGwoKSkgewogICAgICAgICAgICAgICAgIGV4ZWMtPnZtKCkudGhyb3dFeGNl
cHRpb24oZXhlYywgY3JlYXRlUmFuZ2VFcnJvcihleGVjLCBTdHJpbmc6OmZvcm1hdCgiaW52YWxp
ZCBsYW5ndWFnZSB0YWc6ICVzIiwgdGFnLT52YWx1ZShleGVjKS51dGY4KCkuZGF0YSgpKSkpOwot
ICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgICAgIHJldHVybiBW
ZWN0b3I8U3RyaW5nPigpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAvLyB2aWlpLiBJ
ZiBjYW5vbmljYWxpemVkVGFnIGlzIG5vdCBhbiBlbGVtZW50IG9mIHNlZW4sIGFwcGVuZCBjYW5v
bmljYWxpemVkVGFnIGFzIHRoZSBsYXN0IGVsZW1lbnQgb2Ygc2Vlbi4KICAgICAgICAgICAgIGlm
IChzZWVuU2V0LmFkZChjYW5vbmljYWxpemVkVGFnKS5pc05ld0VudHJ5KQotICAgICAgICAgICAg
ICAgIHNlZW4tPnB1c2goZXhlYywganNTdHJpbmcoZXhlYywgY2Fub25pY2FsaXplZFRhZykpOwor
ICAgICAgICAgICAgICAgIHNlZW4uYXBwZW5kKGNhbm9uaWNhbGl6ZWRUYWcpOwogICAgICAgICB9
CiAgICAgICAgIC8vIGUuIEluY3JlYXNlIGsgYnkgMS4KICAgICB9CkBAIC01NTUsNyArNTUxLDcg
QEAgc3RhdGljIFN0cmluZyBiZXN0QXZhaWxhYmxlTG9jYWxlKGNvbnN0IEhhc2hTZXQ8U3RyaW5n
PiYgYXZhaWxhYmxlTG9jYWxlcywgY29uc3QKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKLXN0
YXRpYyBKU0FycmF5KiBsb29rdXBTdXBwb3J0ZWRMb2NhbGVzKEV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgSGFzaFNldDxTdHJpbmc+JiBhdmFpbGFibGVMb2NhbGVzLCBKU0FycmF5KiByZXF1ZXN0ZWRM
b2NhbGVzKQorc3RhdGljIEpTQXJyYXkqIGxvb2t1cFN1cHBvcnRlZExvY2FsZXMoRXhlY1N0YXRl
KiBleGVjLCBjb25zdCBIYXNoU2V0PFN0cmluZz4mIGF2YWlsYWJsZUxvY2FsZXMsIGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiByZXF1ZXN0ZWRMb2NhbGVzKQogewogICAgIC8vIDkuMi42IExvb2t1cFN1
cHBvcnRlZExvY2FsZXMgKGF2YWlsYWJsZUxvY2FsZXMsIHJlcXVlc3RlZExvY2FsZXMpCiAKQEAg
LTU2Myw3ICs1NTksNyBAQCBzdGF0aWMgSlNBcnJheSogbG9va3VwU3VwcG9ydGVkTG9jYWxlcyhF
eGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYgYQogICAgIC8vIEFscmVhZHkg
YW4gYXJyYXkuCiAKICAgICAvLyAyLiBMZXQgbGVuIGJlIFRvTGVuZ3RoKEdldChyTG9jYWxlcywg
Imxlbmd0aCIpKS4KLSAgICB1bnNpZ25lZCBsZW4gPSByZXF1ZXN0ZWRMb2NhbGVzLT5sZW5ndGgo
KTsKKyAgICBzaXplX3QgbGVuID0gcmVxdWVzdGVkTG9jYWxlcy5zaXplKCk7CiAKICAgICAvLyAz
LiBMZXQgc3Vic2V0IGJlIGFuIGVtcHR5IExpc3QuCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsK
QEAgLTU3NiwyMyArNTcyLDE1IEBAIHN0YXRpYyBKU0FycmF5KiBsb29rdXBTdXBwb3J0ZWRMb2Nh
bGVzKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSGFzaFNldDxTdHJpbmc+JiBhCiAKICAgICAvLyA0
LiBMZXQgayBiZSAwLgogICAgIC8vIDUuIFJlcGVhdCB3aGlsZSBrIDwgbGVuCi0gICAgZm9yICh1
bnNpZ25lZCBrID0gMDsgayA8IGxlbjsgKytrKSB7CisgICAgZm9yIChzaXplX3QgayA9IDA7IGsg
PCBsZW47ICsraykgewogICAgICAgICAvLyBhLiBMZXQgUGsgYmUgVG9TdHJpbmcoaykuCiAgICAg
ICAgIC8vIGIuIExldCBsb2NhbGUgYmUgR2V0KHJMb2NhbGVzLCBQaykuCi0gICAgICAgIEpTVmFs
dWUgbG9jYWxlID0gcmVxdWVzdGVkTG9jYWxlcy0+Z2V0KGV4ZWMsIGspOwotCiAgICAgICAgIC8v
IGMuIFJldHVybklmQWJydXB0KGxvY2FsZSkuCi0gICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRp
b24oKSkKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBTdHJpbmcgbG9jYWxl
ID0gcmVxdWVzdGVkTG9jYWxlc1trXTsKIAogICAgICAgICAvLyBkLiBMZXQgbm9FeHRlbnNpb25z
TG9jYWxlIGJlIHRoZSBTdHJpbmcgdmFsdWUgdGhhdCBpcyBsb2NhbGUgd2l0aCBhbGwgVW5pY29k
ZSBsb2NhbGUgZXh0ZW5zaW9uIHNlcXVlbmNlcyByZW1vdmVkLgotICAgICAgICBKU1N0cmluZyog
anNMb2NhbGUgPSBsb2NhbGUudG9TdHJpbmcoZXhlYyk7Ci0gICAgICAgIGlmIChleGVjLT5oYWRF
eGNlcHRpb24oKSkKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgICAgIFN0cmlu
ZyBzTG9jYWxlID0ganNMb2NhbGUtPnZhbHVlKGV4ZWMpOwogICAgICAgICBWZWN0b3I8U3RyaW5n
PiBwYXJ0czsKLSAgICAgICAgc0xvY2FsZS5zcGxpdCgnLScsIHBhcnRzKTsKKyAgICAgICAgbG9j
YWxlLnNwbGl0KCctJywgcGFydHMpOwogICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CiAg
ICAgICAgIHNpemVfdCBwYXJ0c1NpemUgPSBwYXJ0cy5zaXplKCk7CiAgICAgICAgIGlmIChwYXJ0
c1NpemUgPiAwKQpAQCAtNjE1LDcgKzYwMyw3IEBAIHN0YXRpYyBKU0FycmF5KiBsb29rdXBTdXBw
b3J0ZWRMb2NhbGVzKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSGFzaFNldDxTdHJpbmc+JiBhCiAK
ICAgICAgICAgLy8gZi4gSWYgYXZhaWxhYmxlTG9jYWxlIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4g
YXBwZW5kIGxvY2FsZSB0byB0aGUgZW5kIG9mIHN1YnNldC4KICAgICAgICAgaWYgKCFhdmFpbGFi
bGVMb2NhbGUuaXNOdWxsKCkpCi0gICAgICAgICAgICBzdWJzZXQtPnB1c2goZXhlYywgbG9jYWxl
KTsKKyAgICAgICAgICAgIHN1YnNldC0+cHVzaChleGVjLCBqc1N0cmluZyhleGVjLCBsb2NhbGUp
KTsKIAogICAgICAgICAvLyBnLiBJbmNyZW1lbnQgayBieSAxLgogICAgIH0KQEAgLTYyNCwxNCAr
NjEyLDE0IEBAIHN0YXRpYyBKU0FycmF5KiBsb29rdXBTdXBwb3J0ZWRMb2NhbGVzKEV4ZWNTdGF0
ZSogZXhlYywgY29uc3QgSGFzaFNldDxTdHJpbmc+JiBhCiAgICAgcmV0dXJuIHN1YnNldDsKIH0K
IAotc3RhdGljIEpTQXJyYXkqIGJlc3RGaXRTdXBwb3J0ZWRMb2NhbGVzKEV4ZWNTdGF0ZSogZXhl
YywgY29uc3QgSGFzaFNldDxTdHJpbmc+JiBhdmFpbGFibGVMb2NhbGVzLCBKU0FycmF5KiByZXF1
ZXN0ZWRMb2NhbGVzKQorc3RhdGljIEpTQXJyYXkqIGJlc3RGaXRTdXBwb3J0ZWRMb2NhbGVzKEV4
ZWNTdGF0ZSogZXhlYywgY29uc3QgSGFzaFNldDxTdHJpbmc+JiBhdmFpbGFibGVMb2NhbGVzLCBj
b25zdCBWZWN0b3I8U3RyaW5nPiYgcmVxdWVzdGVkTG9jYWxlcykKIHsKICAgICAvLyA5LjIuNyBC
ZXN0Rml0U3VwcG9ydGVkTG9jYWxlcyAoYXZhaWxhYmxlTG9jYWxlcywgcmVxdWVzdGVkTG9jYWxl
cykKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHNvbWV0aGluZyBiZXR0ZXIgdGhhbiBsb29rdXAu
CiAgICAgcmV0dXJuIGxvb2t1cFN1cHBvcnRlZExvY2FsZXMoZXhlYywgYXZhaWxhYmxlTG9jYWxl
cywgcmVxdWVzdGVkTG9jYWxlcyk7CiB9CiAKLUpTVmFsdWUgc3VwcG9ydGVkTG9jYWxlcyhFeGVj
U3RhdGUqIGV4ZWMsIGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYgYXZhaWxhYmxlTG9jYWxlcywgSlNB
cnJheSogcmVxdWVzdGVkTG9jYWxlcywgSlNWYWx1ZSBvcHRpb25zKQorSlNWYWx1ZSBzdXBwb3J0
ZWRMb2NhbGVzKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSGFzaFNldDxTdHJpbmc+JiBhdmFpbGFi
bGVMb2NhbGVzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcmVxdWVzdGVkTG9jYWxlcywgSlNWYWx1
ZSBvcHRpb25zKQogewogICAgIC8vIDkuMi44IFN1cHBvcnRlZExvY2FsZXMgKGF2YWlsYWJsZUxv
Y2FsZXMsIHJlcXVlc3RlZExvY2FsZXMsIG9wdGlvbnMpCiAgICAgVk0mIHZtID0gZXhlYy0+dm0o
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3Qu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3QuaAppbmRleCBmZGU2
MmI1M2E2NjA1NzJkZGM5OTQyMDM3NTJiN2VkN2VkMDJhNjhlLi44NDliZGIzOTAyNDQ3YmNmOThh
Y2VjNzA5NWYwYjIxZDY1MjZlYTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bE9iamVjdC5oCkBAIC01Nyw4ICs1Nyw4IEBAIHByaXZhdGU6CiAgICAgSW50bE9iamVjdChW
TSYsIFN0cnVjdHVyZSopOwogfTsKIAotSlNBcnJheSogY2Fub25pY2FsaXplTG9jYWxlTGlzdChF
eGVjU3RhdGUqLCBKU1ZhbHVlIGxvY2FsZXMpOwotSlNWYWx1ZSBzdXBwb3J0ZWRMb2NhbGVzKEV4
ZWNTdGF0ZSosIGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYgYXZhaWxhYmxlTG9jYWxlcywgSlNBcnJh
eSogcmVxdWVzdGVkTG9jYWxlcywgSlNWYWx1ZSBvcHRpb25zKTsKK1ZlY3RvcjxTdHJpbmc+IGNh
bm9uaWNhbGl6ZUxvY2FsZUxpc3QoRXhlY1N0YXRlKiwgSlNWYWx1ZSBsb2NhbGVzKTsKK0pTVmFs
dWUgc3VwcG9ydGVkTG9jYWxlcyhFeGVjU3RhdGUqLCBjb25zdCBIYXNoU2V0PFN0cmluZz4mIGF2
YWlsYWJsZUxvY2FsZXMsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiByZXF1ZXN0ZWRMb2NhbGVzLCBK
U1ZhbHVlIG9wdGlvbnMpOwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>