<?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>175585</bug_id>
          
          <creation_ts>2017-08-15 10:37:00 -0700</creation_ts>
          <short_desc>Support the &apos;with&apos; keyword in FTL</short_desc>
          <delta_ts>2017-08-15 18:10:14 -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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robin Morisset">rmorisset</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1338739</commentid>
    <comment_count>0</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-15 10:37:00 -0700</bug_when>
    <thetext>What it says in the title. This is an extension of https://bugs.webkit.org/show_bug.cgi?id=175470.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338936</commentid>
    <comment_count>1</comment_count>
      <attachid>318192</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-15 16:12:46 -0700</bug_when>
    <thetext>Created attachment 318192
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338943</commentid>
    <comment_count>2</comment_count>
      <attachid>318192</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-08-15 16:19:29 -0700</bug_when>
    <thetext>Comment on attachment 318192
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:5655
&gt; +            Node* scopeObject = get(VirtualRegister(currentInstruction[3].u.operand));

FWIW, I think a less confusing variable name would just be &quot;object&quot; instead of &quot;scopeObject&quot; here and in other places

&gt; Source/JavaScriptCore/dfg/DFGFixupPhase.cpp:1713
&gt; +        case PushWithScope:

I think it&apos;s nice to document like before as KnownCellUse instead of CellUse.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338946</commentid>
    <comment_count>3</comment_count>
      <attachid>318192</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-08-15 16:21:42 -0700</bug_when>
    <thetext>Comment on attachment 318192
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:5656
&gt; -            Node* scopeObject = get(VirtualRegister(currentInstruction[2].u.operand));
&gt; -            Node* currentScope = get(VirtualRegister(currentInstruction[3].u.operand));
&gt; -            set(VirtualRegister(currentInstruction[1].u.operand), addToGraph(PushWithScope, scopeObject, currentScope));
&gt; +            Node* currentScope = get(VirtualRegister(currentInstruction[2].u.operand));
&gt; +            Node* scopeObject = get(VirtualRegister(currentInstruction[3].u.operand));
&gt; +            set(VirtualRegister(currentInstruction[1].u.operand), addToGraph(PushWithScope, currentScope, scopeObject));

If you want to be fancy you can use my new bytecode names feature :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338977</commentid>
    <comment_count>4</comment_count>
      <attachid>318203</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-15 17:33:50 -0700</bug_when>
    <thetext>Created attachment 318203
Patch, scopeObject =&gt; object</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338978</commentid>
    <comment_count>5</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-15 17:35:11 -0700</bug_when>
    <thetext>I will refine the type in DFGFixupPhase.cpp in a separate patch since it also applies to other opcodes (CreateActivation, CreateScopedArguments, NewFunction, NewGeneratorFunction, NewAsyncFunction).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338979</commentid>
    <comment_count>6</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-15 17:36:47 -0700</bug_when>
    <thetext>Attachment 318203 did not pass style-queue:


ERROR: Source/JavaScriptCore/jit/JITOperations.h:422:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 18 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338991</commentid>
    <comment_count>7</comment_count>
      <attachid>318203</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-15 18:10:05 -0700</bug_when>
    <thetext>Comment on attachment 318203
Patch, scopeObject =&gt; object

Clearing flags on attachment: 318203

Committed r220778: &lt;http://trac.webkit.org/changeset/220778&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338992</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-15 18:10:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318192</attachid>
            <date>2017-08-15 16:12:46 -0700</date>
            <delta_ts>2017-08-15 17:33:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175585-20170815161246.patch</filename>
            <type>text/plain</type>
            <size>17509</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
ZTNlNmNkNzI0MGRhZmQyNDg5NzYyMGYzNTk3Y2Q4N2Q3NTA0N2NlLi4zZmZkYzFjNzIwYzY1YWI3
NWY4NDZiNjgzYmYzYzkxNGFkMTQxZWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOSBAQAorMjAxNy0wOC0xNSAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUu
Y29tPgorCisgICAgICAgIFN1cHBvcnQgdGhlICd3aXRoJyBrZXl3b3JkIGluIEZUTAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NTg1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxzbyBtYWtlcyBzdXJl
IHRoYXQgdGhlIG9yZGVyIG9mIGFyZ3VtZW50cyBvZiBQdXNoV2l0aFNjb3BlLCBvcF9wdXNoX3dp
dGhfc2NvcGUsIEpTV2l0aFNjb3BlOjpjcmVhdGUoKQorICAgICAgICBhbmQgc28gb24gaXMgY29u
c2lzdGVudCAoYWx3YXlzIHBhcmVudFNjb3BlIGZpcnN0LCB0aGUgbmV3IHNjb3BlT2JqZWN0IHNl
Y29uZCkuIFdlIHVzZWQgdG8gZ28gZnJvbSBvbmUKKyAgICAgICAgdG8gdGhlIG90aGVyIGF0IGRp
ZmZlcmVudCBzdGVwIHdoaWNoIHdhcyBxdWl0ZSBjb25mdXNpbmcuIEkgcGlja2VkIHRoaXMgb3Jk
ZXIgZm9yIGNvbnNpc3RlbmN5IHdpdGggQ3JlYXRlQWN0aXZhdGlvbgorICAgICAgICB0aGF0IHRh
a2VzIGl0cyBwYXJlbnRTY29wZSBhcmd1bWVudCBmaXJzdC4KKworICAgICAgICAqIGJ5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJh
dG9yOjplbWl0UHVzaFdpdGhTY29wZSk6CisgICAgICAgICogZGVidWdnZXIvRGVidWdnZXJDYWxs
RnJhbWUuY3BwOgorICAgICAgICAoSlNDOjpEZWJ1Z2dlckNhbGxGcmFtZTo6ZXZhbHVhdGVXaXRo
U2NvcGVFeHRlbnNpb24pOgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAq
IGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpm
aXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQdXNoV2l0aFNjb3BlKToKKyAgICAg
ICAgKiBmdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpjYW5Db21w
aWxlKToKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0IzLmNwcDoKKyAgICAgICAgKEpTQzo6
RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZU5vZGUpOgorICAgICAgICAoSlNDOjpGVEw6
OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlUHVzaFdpdGhTY29wZSk6CisgICAgICAgICogaml0
L0pJVE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNw
cDoKKyAgICAgICAgKEpTQzo6U0xPV19QQVRIX0RFQ0wpOgorICAgICAgICAqIHJ1bnRpbWUvQ29t
cGxldGlvbi5jcHA6CisgICAgICAgIChKU0M6OmV2YWx1YXRlV2l0aFNjb3BlRXh0ZW5zaW9uKToK
KyAgICAgICAgKiBydW50aW1lL0pTV2l0aFNjb3BlLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXaXRo
U2NvcGU6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9KU1dpdGhTY29wZS5oOgorCiAyMDE3
LTA4LTE1ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IEpTQyBuYW1lZCBieXRlY29kZSBvZmZzZXRzIHNob3VsZCB1c2UgcmVmZXJlbmNlcyByYXRoZXIg
dGhhbiBwb2ludGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDlmYWU4YzZlMjE5ZGU4ZmFmYjU3ZDA1ZGY3ZGQy
NDBlY2RhYjU0ZjMuLmNlMGY1Mjk1NjhkNzEyZThmMDI1MTgwMmYxZTQwZWZiZGY2OWNlODEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNy0wOC0xNSAgUm9iaW4gTW9yaXNzZXQgIDxy
bW9yaXNzZXRAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSB0aGUgb3JkZXIgb2YgYXJndW1l
bnRzIG9mIEpTV2l0aFNjb3BlOjpjcmVhdGUoKSBmb3IgY29uc2lzdGVuY3kKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTU4NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIGNoYW5nZSBvZiBiZWhhdmlv
ci4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSFRNTEVsZW1lbnRDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNIVE1MRWxlbWVudDo6cHVzaEV2ZW50SGFuZGxlclNjb3BlIGNvbnN0
KToKKwogMjAxNy0wOC0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0NhY2hlIEFQSV0gRW5zdXJlIFJlc291cmNlUmVzcG9uc2UgaXMgbm90IG51bGwgd2hl
biByZWRpcmVjdGVkL3RhaW50aW5nL3R5cGUgZmllbGRzIGFyZSBzZXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAK
aW5kZXggY2M2NWRkNTI5YzMxNmFkZjBhMWQ4YzAxMWZjOTFjZDE2NWFlZTcxYS4uZTFjYzNlZTA4
ODk5NjUxYThjMTQ0ODY1Y2JjOGQxMjMxNmExYTUyYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTM3
NjYsOCArMzc2Niw4IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UHVzaFdp
dGhTY29wZShSZWdpc3RlcklEKiBvYmplY3RTY29wZSkKIAogICAgIGVtaXRPcGNvZGUob3BfcHVz
aF93aXRoX3Njb3BlKTsKICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQobmV3U2NvcGUtPmluZGV4
KCkpOwotICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChvYmplY3RTY29wZS0+aW5kZXgoKSk7CiAg
ICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHNjb3BlUmVnaXN0ZXIoKS0+aW5kZXgoKSk7CisgICAg
aW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKG9iamVjdFNjb3BlLT5pbmRleCgpKTsKIAogICAgIGVtaXRN
b3ZlKHNjb3BlUmVnaXN0ZXIoKSwgbmV3U2NvcGUpOwogICAgIG1fbGV4aWNhbFNjb3BlU3RhY2su
YXBwZW5kKHsgbnVsbHB0ciwgbmV3U2NvcGUsIHRydWUsIDAgfSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJDYWxsRnJhbWUuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQ2FsbEZyYW1lLmNwcAppbmRleCBhM2Vj
YzYwYzFkOTllOWRmNDg0MTNkMTU4NDg0NjY0ZGQxMjA0ZmZjLi41NjUzMjk2YmY2MjI3YmI1NGRj
YTZhYmJlYmJjYWI3Yzg0MGQyZmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGVidWdnZXIvRGVidWdnZXJDYWxsRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZWJ1Z2dlci9EZWJ1Z2dlckNhbGxGcmFtZS5jcHAKQEAgLTI1NSw3ICsyNTUsNyBAQCBKU1Zh
bHVlIERlYnVnZ2VyQ2FsbEZyYW1lOjpldmFsdWF0ZVdpdGhTY29wZUV4dGVuc2lvbihjb25zdCBT
dHJpbmcmIHNjcmlwdCwgSlNPYgogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBj
YWxsRnJhbWUtPnZtRW50cnlHbG9iYWxPYmplY3QoKTsKICAgICBpZiAoc2NvcGVFeHRlbnNpb25P
YmplY3QpIHsKICAgICAgICAgSlNTY29wZSogaWdub3JlZFByZXZpb3VzU2NvcGUgPSBnbG9iYWxP
YmplY3QtPmdsb2JhbFNjb3BlKCk7Ci0gICAgICAgIGdsb2JhbE9iamVjdC0+c2V0R2xvYmFsU2Nv
cGVFeHRlbnNpb24oSlNXaXRoU2NvcGU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBzY29wZUV4
dGVuc2lvbk9iamVjdCwgaWdub3JlZFByZXZpb3VzU2NvcGUpKTsKKyAgICAgICAgZ2xvYmFsT2Jq
ZWN0LT5zZXRHbG9iYWxTY29wZUV4dGVuc2lvbihKU1dpdGhTY29wZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIGlnbm9yZWRQcmV2aW91c1Njb3BlLCBzY29wZUV4dGVuc2lvbk9iamVjdCkpOwog
ICAgIH0KIAogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gdGhpcy0+dGhpc1ZhbHVlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IGZk
MDY0MWExNTM1NmJmMmQyZTYzOTJmMTQyNDgxMmJhNzIzOGZkNTMuLmJlYWE0YWMzYTM2NzY3NGFm
MDJkZTI0ZjJmMTNlYzU3ZTQ1NWM2ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC01NjUxLDkgKzU2NTEsOSBAQCBib29sIEJ5dGVD
b2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICB9CiAKICAgICAg
ICAgY2FzZSBvcF9wdXNoX3dpdGhfc2NvcGU6IHsKLSAgICAgICAgICAgIE5vZGUqIHNjb3BlT2Jq
ZWN0ID0gZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5k
KSk7Ci0gICAgICAgICAgICBOb2RlKiBjdXJyZW50U2NvcGUgPSBnZXQoVmlydHVhbFJlZ2lzdGVy
KGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQpKTsKLSAgICAgICAgICAgIHNldChWaXJ0
dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksIGFkZFRvR3JhcGgo
UHVzaFdpdGhTY29wZSwgc2NvcGVPYmplY3QsIGN1cnJlbnRTY29wZSkpOworICAgICAgICAgICAg
Tm9kZSogY3VycmVudFNjb3BlID0gZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rp
b25bMl0udS5vcGVyYW5kKSk7CisgICAgICAgICAgICBOb2RlKiBzY29wZU9iamVjdCA9IGdldChW
aXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCkpOworICAgICAg
ICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5k
KSwgYWRkVG9HcmFwaChQdXNoV2l0aFNjb3BlLCBjdXJyZW50U2NvcGUsIHNjb3BlT2JqZWN0KSk7
CiAgICAgICAgICAgICBORVhUX09QQ09ERShvcF9wdXNoX3dpdGhfc2NvcGUpOwogICAgICAgICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCmluZGV4IGZm
ODlkMGE5MjA5MmE1YmMzOTJmODE2NDU5NTA3NjY3YjRlYjc5OTYuLmFlNmUxNjE1ZWU4MzFiZGE3
OThkMDYxZjkxNGRmOGQ1Y2MxOGNkMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdGaXh1cFBoYXNlLmNwcApAQCAtMTcxMCw2ICsxNzEwLDcgQEAgcHJpdmF0ZToKIAogICAgICAg
ICBjYXNlIENyZWF0ZVNjb3BlZEFyZ3VtZW50czoKICAgICAgICAgY2FzZSBDcmVhdGVBY3RpdmF0
aW9uOgorICAgICAgICBjYXNlIFB1c2hXaXRoU2NvcGU6CiAgICAgICAgIGNhc2UgTmV3RnVuY3Rp
b246CiAgICAgICAgIGNhc2UgTmV3R2VuZXJhdG9yRnVuY3Rpb246CiAgICAgICAgIGNhc2UgTmV3
QXN5bmNGdW5jdGlvbjogewpAQCAtMTcxNywxMiArMTcxOCw2IEBAIHByaXZhdGU6CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogCi0gICAgICAgIGNhc2UgUHVzaFdpdGhTY29wZTogewot
ICAgICAgICAgICAgLy8gQ2hpbGQyIGlzIGFsd2F5cyB0aGUgY3VycmVudCBzY29wZSwgd2hpY2gg
aXMgZ3VhcmFudGVlZCB0byBiZSBhbiBvYmplY3QuCi0gICAgICAgICAgICBmaXhFZGdlPEtub3du
Q2VsbFVzZT4obm9kZS0+Y2hpbGQyKCkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0K
LQogICAgICAgICBjYXNlIFNldEZ1bmN0aW9uTmFtZTogewogICAgICAgICAgICAgLy8gVGhlIGZp
cnN0IGNoaWxkIGlzIGd1YXJhbnRlZWQgdG8gYmUgYSBjZWxsIGJlY2F1c2Ugb3Bfc2V0X2Z1bmN0
aW9uX25hbWUgaXMgb25seSB1c2VkCiAgICAgICAgICAgICAvLyBvbiBhIG5ld2x5IGluc3RhbnRp
YXRlZCBmdW5jdGlvbiBvYmplY3QgKHRoZSBmaXJzdCBjaGlsZCkuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCmluZGV4IDA1NDhkZDQyMDZjZDkz
MzM4NDhlODk5OGFhYzljYmMzMGQ4NjIxMDUuLjYzZmJkMTE0YmY4ZDlkNjVhOGVmMjI1NDQ2NDNh
NGU0MjQyYmViMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuY3BwCkBAIC0xMTI2LDExICsxMTI2LDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGVEZWxldGVCeVZhbChOb2RlKiBub2RlKQogCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpj
b21waWxlUHVzaFdpdGhTY29wZShOb2RlKiBub2RlKQogewotICAgIEpTVmFsdWVPcGVyYW5kIHNj
b3BlT2JqZWN0KHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKLSAgICBTcGVjdWxhdGVDZWxsT3BlcmFu
ZCBjdXJyZW50U2NvcGUodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwotICAgIEpTVmFsdWVSZWdzIHNj
b3BlT2JqZWN0UmVncyA9IHNjb3BlT2JqZWN0LmpzVmFsdWVSZWdzKCk7CisgICAgU3BlY3VsYXRl
Q2VsbE9wZXJhbmQgY3VycmVudFNjb3BlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKICAgICBHUFJS
ZWcgY3VycmVudFNjb3BlR1BSID0gY3VycmVudFNjb3BlLmdwcigpOwogCisgICAgSlNWYWx1ZU9w
ZXJhbmQgc2NvcGVPYmplY3QodGhpcywgbm9kZS0+Y2hpbGQyKCkpOworICAgIEpTVmFsdWVSZWdz
IHNjb3BlT2JqZWN0UmVncyA9IHNjb3BlT2JqZWN0LmpzVmFsdWVSZWdzKCk7CisKICAgICBHUFJG
bHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CiAgICAgR1BSUmVnIHJlc3VsdEdQUiA9IHJl
c3VsdC5ncHIoKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJp
bGl0aWVzLmNwcAppbmRleCAwYjQ1Nzk0YzkzM2YwNTM1NmZhOWIxN2E1NzcxYTYxNmY4NWU0Nzky
Li40MDY2OTk4YzUzMmY0NWY5N2FjYTRhYThiMWFmYjY0YzZmOTE2YTQxIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCkBAIC0xMTUsNiArMTE1LDcg
QEAgaW5saW5lIENhcGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2Fz
ZSBTa2lwU2NvcGU6CiAgICAgY2FzZSBHZXRHbG9iYWxPYmplY3Q6CiAgICAgY2FzZSBDcmVhdGVB
Y3RpdmF0aW9uOgorICAgIGNhc2UgUHVzaFdpdGhTY29wZToKICAgICBjYXNlIE5ld0Z1bmN0aW9u
OgogICAgIGNhc2UgTmV3R2VuZXJhdG9yRnVuY3Rpb246CiAgICAgY2FzZSBOZXdBc3luY0Z1bmN0
aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1Rv
QjMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCmlu
ZGV4IDVkNTIxMThkODQ5OWE1MzI0MTBlZDk3NTFjMjBkYjllNzUxNGIyODIuLjM4YmExYzM4N2Q5
NjE1N2FlZmUzYmQ3NjYzNjhmZDAzYjM2YzQ4NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKQEAgLTczOSw2ICs3MzksOSBAQCBwcml2YXRlOgog
ICAgICAgICBjYXNlIENyZWF0ZUFjdGl2YXRpb246CiAgICAgICAgICAgICBjb21waWxlQ3JlYXRl
QWN0aXZhdGlvbigpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUHVzaFdpdGhT
Y29wZToKKyAgICAgICAgICAgIGNvbXBpbGVQdXNoV2l0aFNjb3BlKCk7CisgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgY2FzZSBOZXdHZW5lcmF0
b3JGdW5jdGlvbjoKICAgICAgICAgY2FzZSBOZXdBc3luY0Z1bmN0aW9uOgpAQCAtNDI2Miw3ICs0
MjY1LDE3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9
Ci0gICAgCisKKyAgICB2b2lkIGNvbXBpbGVQdXNoV2l0aFNjb3BlKCkKKyAgICB7CisgICAgICAg
IExWYWx1ZSBwYXJlbnRTY29wZSA9IGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSk7CisgICAgICAg
IExWYWx1ZSBzY29wZU9iamVjdCA9IGxvd0pTVmFsdWUobV9ub2RlLT5jaGlsZDIoKSk7CisKKyAg
ICAgICAgTFZhbHVlIHJlc3VsdCA9IHZtQ2FsbChJbnQ2NCwgbV9vdXQub3BlcmF0aW9uKG9wZXJh
dGlvblB1c2hXaXRoU2NvcGUpLCBtX2NhbGxGcmFtZSwgcGFyZW50U2NvcGUsIHNjb3BlT2JqZWN0
KTsKKworICAgICAgICBzZXRKU1ZhbHVlKHJlc3VsdCk7CisgICAgfQorCiAgICAgdm9pZCBjb21w
aWxlQ3JlYXRlQWN0aXZhdGlvbigpCiAgICAgewogICAgICAgICBMVmFsdWUgc2NvcGUgPSBsb3dD
ZWxsKG1fbm9kZS0+Y2hpbGQxKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bl
cmF0aW9ucy5jcHAKaW5kZXggNmJlZWQ1NmQzY2U5MWEyYTQyM2NmMWY4OGUyZmU2Y2IyNjA4YTgy
NS4uZjI0N2ZlYjU3ZmIyM2ZiNGY2OWJmMWUzNTIxM2M2MTE2ODgxZTNiNSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCkBAIC0yMDA3LDcgKzIwMDcsNyBA
QCBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHVzaFdpdGhTY29wZShFeGVjU3RhdGUq
IGV4ZWMsIEpTQ2VsbCogY3VycmVudFNjbwogCiAgICAgSlNTY29wZSogY3VycmVudFNjb3BlID0g
anNDYXN0PEpTU2NvcGUqPihjdXJyZW50U2NvcGVDZWxsKTsKIAotICAgIHJldHVybiBKU1dpdGhT
Y29wZTo6Y3JlYXRlKHZtLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIG5ld1Njb3BlLCBj
dXJyZW50U2NvcGUpOworICAgIHJldHVybiBKU1dpdGhTY29wZTo6Y3JlYXRlKHZtLCBleGVjLT5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCksIGN1cnJlbnRTY29wZSwgbmV3U2NvcGUpOwogfQogCiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluc3RhbmNlT2YoRXhlY1N0YXRlKiBl
eGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRQ
cm90bykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNs
b3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0
aHMuY3BwCmluZGV4IDE3NjFmYzcxN2Q4MzNlNDgxZGIyNzU2NDZlN2M1Y2Y1OTFjOGIyZTcuLmZm
Y2FlMGNmZWY0MjcxOTEwOTlmZjVjMzM3ZGQ2NWViNTU1ODZlOWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcApAQCAtODE0LDEyICs4
MTQsMTIgQEAgU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX2NyZWF0ZV9sZXhpY2FsX2Vudmlyb25t
ZW50KQogU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX3B1c2hfd2l0aF9zY29wZSkKIHsKICAgICBC
RUdJTigpOwotICAgIEpTT2JqZWN0KiBuZXdTY29wZSA9IE9QX0MoMikuanNWYWx1ZSgpLnRvT2Jq
ZWN0KGV4ZWMpOworICAgIEpTT2JqZWN0KiBuZXdTY29wZSA9IE9QX0MoMykuanNWYWx1ZSgpLnRv
T2JqZWN0KGV4ZWMpOwogICAgIENIRUNLX0VYQ0VQVElPTigpOwogCi0gICAgaW50IHNjb3BlUmVn
ID0gcGNbM10udS5vcGVyYW5kOworICAgIGludCBzY29wZVJlZyA9IHBjWzJdLnUub3BlcmFuZDsK
ICAgICBKU1Njb3BlKiBjdXJyZW50U2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHNjb3BlUmVnKS5S
ZWdpc3Rlcjo6c2NvcGUoKTsKLSAgICBSRVRVUk4oSlNXaXRoU2NvcGU6OmNyZWF0ZSh2bSwgZXhl
Yy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBuZXdTY29wZSwgY3VycmVudFNjb3BlKSk7CisgICAg
UkVUVVJOKEpTV2l0aFNjb3BlOjpjcmVhdGUodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3Qo
KSwgY3VycmVudFNjb3BlLCBuZXdTY29wZSkpOwogfQogCiBTTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfcmVzb2x2ZV9zY29wZV9mb3JfaG9pc3RpbmdfZnVuY19kZWNsX2luX2V2YWwpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21wbGV0aW9uLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbXBsZXRpb24uY3BwCmluZGV4IDg4MjNlNmY2MDE2
MTEyYjQ3MzlmYTAyOGY0MzFiYzdlOGQ3YzhiMzYuLjdkYzg5MzVkYTQ1MmFkYjBlZmE2ODM1YTU4
YWJmMWU3MzFkMDkzMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0NvbXBsZXRpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbXBs
ZXRpb24uY3BwCkBAIC0xMjMsNyArMTIzLDcgQEAgSlNWYWx1ZSBldmFsdWF0ZVdpdGhTY29wZUV4
dGVuc2lvbihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgSlMKIAog
ICAgIGlmIChzY29wZUV4dGVuc2lvbk9iamVjdCkgewogICAgICAgICBKU1Njb3BlKiBpZ25vcmVk
UHJldmlvdXNTY29wZSA9IGdsb2JhbE9iamVjdC0+Z2xvYmFsU2NvcGUoKTsKLSAgICAgICAgZ2xv
YmFsT2JqZWN0LT5zZXRHbG9iYWxTY29wZUV4dGVuc2lvbihKU1dpdGhTY29wZTo6Y3JlYXRlKGV4
ZWMtPnZtKCksIGdsb2JhbE9iamVjdCwgc2NvcGVFeHRlbnNpb25PYmplY3QsIGlnbm9yZWRQcmV2
aW91c1Njb3BlKSk7CisgICAgICAgIGdsb2JhbE9iamVjdC0+c2V0R2xvYmFsU2NvcGVFeHRlbnNp
b24oSlNXaXRoU2NvcGU6OmNyZWF0ZShleGVjLT52bSgpLCBnbG9iYWxPYmplY3QsIGlnbm9yZWRQ
cmV2aW91c1Njb3BlLCBzY29wZUV4dGVuc2lvbk9iamVjdCkpOwogICAgIH0KIAogICAgIEpTVmFs
dWUgcmV0dXJuVmFsdWUgPSBKU0M6OmV2YWx1YXRlKGdsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygp
LCBzb3VyY2UsIGdsb2JhbE9iamVjdCwgcmV0dXJuZWRFeGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNXaXRoU2NvcGUuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNXaXRoU2NvcGUuY3BwCmluZGV4IGU4M2VkMmEwYmZjMDMw
ZTVlZTgyNzg3NjU4MWU5ZDU1YTJmMTAxMTEuLjlkNGFkMmM3ZDFlZDEwYjVkZDBhYzAyYTJjMjFk
Nzc4MjNiNmE2N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
V2l0aFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1dpdGhT
Y29wZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiBjb25zdCBDbGFzc0lu
Zm8gSlNXaXRoU2NvcGU6OnNfaW5mbyA9IHsgIldpdGhTY29wZSIsICZCYXNlOjpzX2luZm8sIG51
bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNXaXRoU2NvcGUpIH07CiAKIEpT
V2l0aFNjb3BlKiBKU1dpdGhTY29wZTo6Y3JlYXRlKAotICAgIFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIG9iamVjdCwgSlNTY29wZSogbmV4dCkKKyAgICBW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTU2NvcGUqIG5leHQsIEpTT2Jq
ZWN0KiBvYmplY3QpCiB7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3Qt
PndpdGhTY29wZVN0cnVjdHVyZSgpOwogICAgIEpTV2l0aFNjb3BlKiB3aXRoU2NvcGUgPSBuZXcg
KE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU1dpdGhTY29wZT4odm0uaGVhcCkpIEpTV2l0aFNjb3Bl
KHZtLCBzdHJ1Y3R1cmUsIG9iamVjdCwgbmV4dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1dpdGhTY29wZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNXaXRoU2NvcGUuaAppbmRleCAzOWUwOWUzYzNiOGZhOWNmZjcwOGMxZWUzOGM4NTJm
MzE0YTNlODM3Li4yODQ3YmQ4YWM2OGNmMWQxZDBlODY1MWQzNDE3OTYyZWI4NDJhMTYyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1dpdGhTY29wZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTV2l0aFNjb3BlLmgKQEAgLTMzLDcgKzMz
LDcgQEAgY2xhc3MgSlNXaXRoU2NvcGUgOiBwdWJsaWMgSlNTY29wZSB7CiBwdWJsaWM6CiAgICAg
dHlwZWRlZiBKU1Njb3BlIEJhc2U7CiAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNX
aXRoU2NvcGUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCBKU1Njb3Bl
KiBuZXh0KTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNXaXRoU2NvcGUqIGNyZWF0
ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNTY29wZSogbmV4dCwgSlNPYmplY3QqKTsKIAogICAg
IEpTT2JqZWN0KiBvYmplY3QoKSB7IHJldHVybiBtX29iamVjdC5nZXQoKTsgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxFbGVtZW50Q3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTEVsZW1lbnRDdXN0b20uY3BwCmluZGV4
IDQzNzkyYTlkODQ5OWRlM2I1ZDc5MDRiODM4ZGU2NWZmODY2ZmMxOTUuLjBlNDk1ZWRjOTI1YWVi
MDdiZWVkZDhiNWI1NWYzOGFhYjliYzg2OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTSFRNTEVsZW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTSFRNTEVsZW1lbnRDdXN0b20uY3BwCkBAIC0xMjAsMTQgKzEyMCwxNCBAQCBK
U1Njb3BlKiBKU0hUTUxFbGVtZW50OjpwdXNoRXZlbnRIYW5kbGVyU2NvcGUoRXhlY1N0YXRlKiBl
eGVjLCBKU1Njb3BlKiBzY29wZSkgYwogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2Jq
ZWN0KCk7CiAgICAgCi0gICAgc2NvcGUgPSBKU1dpdGhTY29wZTo6Y3JlYXRlKHZtLCBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBhc09iamVjdCh0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBlbGVtZW50
LmRvY3VtZW50KCkpKSwgc2NvcGUpOworICAgIHNjb3BlID0gSlNXaXRoU2NvcGU6OmNyZWF0ZSh2
bSwgbGV4aWNhbEdsb2JhbE9iamVjdCwgc2NvcGUsIGFzT2JqZWN0KHRvSlMoZXhlYywgZ2xvYmFs
T2JqZWN0KCksIGVsZW1lbnQuZG9jdW1lbnQoKSkpKTsKIAogICAgIC8vIFRoZSBmb3JtIGlzIG5l
eHQsIHNlYXJjaGVkIGJlZm9yZSB0aGUgZG9jdW1lbnQsIGJ1dCBhZnRlciB0aGUgZWxlbWVudCBp
dHNlbGYuCiAgICAgaWYgKEhUTUxGb3JtRWxlbWVudCogZm9ybSA9IGVsZW1lbnQuZm9ybSgpKQot
ICAgICAgICBzY29wZSA9IEpTV2l0aFNjb3BlOjpjcmVhdGUodm0sIGxleGljYWxHbG9iYWxPYmpl
Y3QsIGFzT2JqZWN0KHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0KCksICpmb3JtKSksIHNjb3BlKTsK
KyAgICAgICAgc2NvcGUgPSBKU1dpdGhTY29wZTo6Y3JlYXRlKHZtLCBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBzY29wZSwgYXNPYmplY3QodG9KUyhleGVjLCBnbG9iYWxPYmplY3QoKSwgKmZvcm0pKSk7
CiAKICAgICAvLyBUaGUgZWxlbWVudCBpcyBvbiB0b3AsIHNlYXJjaGVkIGZpcnN0LgotICAgIHJl
dHVybiBKU1dpdGhTY29wZTo6Y3JlYXRlKHZtLCBsZXhpY2FsR2xvYmFsT2JqZWN0LCBhc09iamVj
dCh0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBlbGVtZW50KSksIHNjb3BlKTsKKyAgICByZXR1
cm4gSlNXaXRoU2NvcGU6OmNyZWF0ZSh2bSwgbGV4aWNhbEdsb2JhbE9iamVjdCwgc2NvcGUsIGFz
T2JqZWN0KHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0KCksIGVsZW1lbnQpKSk7CiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggM2NmMzczODMxYWRiYTc2M2M2MWQ0NmI1YTE4ZWQ3YzEzZTI2ODM4
Zi4uM2I5N2Y0ZmM1OWQyOTc4OTM4YWIyMjFlNjQ1YTUzY2ZkYzJlZjliNiAxMDA2NDQKLS0tIGEv
SlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBA
QAorMjAxNy0wOC0xNSAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUuY29tPgorCisg
ICAgICAgIFN1cHBvcnQgdGhlICd3aXRoJyBrZXl3b3JkIGluIEZUTC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTU4NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsc28gaW1wcm92ZSB0aGUgSlNUZXN0
L3N0cmVzcy93aXRoLmpzIGZpbGUgdG8gdGVzdAorICAgICAgICB3aGF0IGhhcHBlbnMgd2hlbiBu
b24tb2JqZWN0cyBhcmUgcGFzc2VkIHRvIHdpdGguCisKKyAgICAgICAgKiBzdHJlc3Mvd2l0aC5q
czoKKyAgICAgICAgKGZvbyk6CisgICAgICAgIChpLmNhdGNoKToKKyAgICAgICAgKGkud2l0aCk6
IERlbGV0ZWQuCisKIDIwMTctMDgtMTQgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWRkIHRlc3RpbmcgdG9vbCB0byBsaWUgdG8gdGhlIERGRyBhYm91
dCBwcm9maWxlcwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3Mvd2l0aC5qcyBiL0pTVGVzdHMv
c3RyZXNzL3dpdGguanMKaW5kZXggYWQ4YzI5Mzc3ZmU0ZGM1MDBhNmNkMmUzNDM5NzIyNjAxNTgz
ZmY2NS4uYjJkOGY0NThhZjdjZjExN2ViYTVkMjAzYjJhZWZmNmE5ZDU3NTAxNCAxMDA2NDQKLS0t
IGEvSlNUZXN0cy9zdHJlc3Mvd2l0aC5qcworKysgYi9KU1Rlc3RzL3N0cmVzcy93aXRoLmpzCkBA
IC0xLDM2ICsxLDI3IEBACi1mb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKLSAgICB2
YXIgeCA9IDE7Ci0gICAgdmFyIHkgPSAyOwotCi0gICAgdmFyIHogPSB7YTogNDJ9OwotICAgIHdp
dGggKHopIHsKK2Z1bmN0aW9uIGZvbyAoeCwgeSwgeiwgbmV3WCwgY2hlY2taLCBlcnJvck1lc3Nh
Z2UpIHsKKyAgICB3aXRoKHopIHsKICAgICAgICAgeCA9IHk7CiAgICAgfQotICAgIGlmICh4ICE9
PSAyIHx8IHkgIT09IDIgfHwgei5hICE9PSA0MikgewotICAgICAgICB0aHJvdyAiRXJyb3I6IGJh
ZCByZXN1bHQsIGZpcnN0IGNhc2UsIGZvciBpID0gIiArIGk7Ci0gICAgfQotCi0gICAgeiA9IHt5
OiA0Mn0KLSAgICB3aXRoICh6KSB7Ci0gICAgICAgIHggPSB5OwotICAgIH0KLSAgICBpZiAoeCAh
PT0gNDIgfHwgeSAhPT0gMiB8fCB6LnkgIT09IDQyKSB7Ci0gICAgICAgIHRocm93ICJFcnJvcjog
YmFkIHJlc3VsdCwgc2Vjb25kIGNhc2UsIGZvciBpID0gIiArIGk7CisgICAgaWYgKHggIT09IG5l
d1ggfHwgIWNoZWNrWih6KSkgeworICAgICAgICB0aHJvdyBlcnJvck1lc3NhZ2U7CiAgICAgfQor
fQogCi0gICAgeiA9IHt4OiAxM307Ci0gICAgd2l0aCAoeikgewotICAgICAgICB4ID0geTsKLSAg
ICB9Ci0gICAgaWYgKHggIT09IDQyIHx8IHkgIT09IDIgfHwgei54ICE9PSAyKSB7Ci0gICAgICAg
IHRocm93ICJFcnJvcjogYmFkIHJlc3VsdCwgdGhpcmQgY2FzZSwgZm9yIGkgPSAiICsgaTsKLSAg
ICB9Citmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICB2YXIgeCA9IDE7Cisg
ICAgdmFyIHkgPSAyOwogCi0gICAgeiA9IHt4OjEzLCB5OjE0fTsKLSAgICB3aXRoICh6KSB7Ci0g
ICAgICAgIHggPSB5OwotICAgIH0KLSAgICBpZiAoeCAhPT0gNDIgfHwgeSAhPT0gMiB8fCB6Lngg
IT09IDE0IHx8IHoueSAhPT0gMTQpIHsKLSAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0
LCBmb3VydGggY2FzZSwgZm9yIGkgPSAiICsgaTsKKyAgICBmb28oMSwgMiwge2E6NDJ9LCAyLCB6
ID0+IHouYSA9PT0gNDIsICJFcnJvcjogYmFkIHJlc3VsdCBmb3Igbm9uLW92ZXJsYXBwaW5nIGNh
c2UsIGkgPSAiICsgaSk7CisgICAgZm9vKDEsIDIsIHt4OjQyfSwgMSwgeiA9PiB6LnggPT09IDIs
ICJFcnJvcjogYmFkIHJlc3VsdCBmb3Igc2V0dGVyIGNhc2UsIGkgPSAiICsgaSk7CisgICAgZm9v
KDEsIDIsIHt5OjQyfSwgNDIsIHogPT4gei55ID09PSA0MiwgIkVycm9yOiBiYWQgcmVzdWx0IGZv
ciBnZXR0ZXIgY2FzZSwgaSA9ICIgKyBpKTsKKyAgICBmb28oMSwgMiwge3g6NDIsIHk6MTN9LCAx
LCB6ID0+IHoueCA9PT0gMTMgJiYgei55ID09PSAxMywgIkVycm9yOiBiYWQgcmVzdWx0IGZvciBz
ZXR0ZXIvZ2V0dGVyIGNhc2UsIGkgPSAiICsgaSk7CisgICAgZm9vKDEsIDIsICJ0b3RvIiwgMiwg
eiA9PiB6ID09PSAidG90byIsICJFcnJvcjogYmFkIHJlc3VsdCBmb3Igc3RyaW5nIGNhc2UsIGkg
PSAiICsgaSk7CisgICAgdHJ5IHsKKyAgICAgICAgZm9vKDEsIDIsIG51bGwsIDIsIHogPT4KKyAg
ICAgICAgICAgICAgICB7dGhyb3cgIkVycm9yOiBtaXNzaW5nIHR5cGUgZXJyb3IsIGkgPSAiICsg
aX0sICJVbnJlYWNoYWJsZSIpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgaWYgKCEoZSBp
bnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKKyAgICAgICAgICAgIHRocm93IGU7CisgICAgICAgIH0K
ICAgICB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318203</attachid>
            <date>2017-08-15 17:33:50 -0700</date>
            <delta_ts>2017-08-15 18:10:05 -0700</delta_ts>
            <desc>Patch, scopeObject =&gt; object</desc>
            <filename>bug-175585-20170815173350.patch</filename>
            <type>text/plain</type>
            <size>19633</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
ZTNlNmNkNzI0MGRhZmQyNDg5NzYyMGYzNTk3Y2Q4N2Q3NTA0N2NlLi4zZmZkYzFjNzIwYzY1YWI3
NWY4NDZiNjgzYmYzYzkxNGFkMTQxZWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOSBAQAorMjAxNy0wOC0xNSAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUu
Y29tPgorCisgICAgICAgIFN1cHBvcnQgdGhlICd3aXRoJyBrZXl3b3JkIGluIEZUTAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NTg1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxzbyBtYWtlcyBzdXJl
IHRoYXQgdGhlIG9yZGVyIG9mIGFyZ3VtZW50cyBvZiBQdXNoV2l0aFNjb3BlLCBvcF9wdXNoX3dp
dGhfc2NvcGUsIEpTV2l0aFNjb3BlOjpjcmVhdGUoKQorICAgICAgICBhbmQgc28gb24gaXMgY29u
c2lzdGVudCAoYWx3YXlzIHBhcmVudFNjb3BlIGZpcnN0LCB0aGUgbmV3IHNjb3BlT2JqZWN0IHNl
Y29uZCkuIFdlIHVzZWQgdG8gZ28gZnJvbSBvbmUKKyAgICAgICAgdG8gdGhlIG90aGVyIGF0IGRp
ZmZlcmVudCBzdGVwIHdoaWNoIHdhcyBxdWl0ZSBjb25mdXNpbmcuIEkgcGlja2VkIHRoaXMgb3Jk
ZXIgZm9yIGNvbnNpc3RlbmN5IHdpdGggQ3JlYXRlQWN0aXZhdGlvbgorICAgICAgICB0aGF0IHRh
a2VzIGl0cyBwYXJlbnRTY29wZSBhcmd1bWVudCBmaXJzdC4KKworICAgICAgICAqIGJ5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJh
dG9yOjplbWl0UHVzaFdpdGhTY29wZSk6CisgICAgICAgICogZGVidWdnZXIvRGVidWdnZXJDYWxs
RnJhbWUuY3BwOgorICAgICAgICAoSlNDOjpEZWJ1Z2dlckNhbGxGcmFtZTo6ZXZhbHVhdGVXaXRo
U2NvcGVFeHRlbnNpb24pOgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAq
IGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpm
aXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQdXNoV2l0aFNjb3BlKToKKyAgICAg
ICAgKiBmdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpjYW5Db21w
aWxlKToKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0IzLmNwcDoKKyAgICAgICAgKEpTQzo6
RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZU5vZGUpOgorICAgICAgICAoSlNDOjpGVEw6
OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlUHVzaFdpdGhTY29wZSk6CisgICAgICAgICogaml0
L0pJVE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNw
cDoKKyAgICAgICAgKEpTQzo6U0xPV19QQVRIX0RFQ0wpOgorICAgICAgICAqIHJ1bnRpbWUvQ29t
cGxldGlvbi5jcHA6CisgICAgICAgIChKU0M6OmV2YWx1YXRlV2l0aFNjb3BlRXh0ZW5zaW9uKToK
KyAgICAgICAgKiBydW50aW1lL0pTV2l0aFNjb3BlLmNwcDoKKyAgICAgICAgKEpTQzo6SlNXaXRo
U2NvcGU6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9KU1dpdGhTY29wZS5oOgorCiAyMDE3
LTA4LTE1ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IEpTQyBuYW1lZCBieXRlY29kZSBvZmZzZXRzIHNob3VsZCB1c2UgcmVmZXJlbmNlcyByYXRoZXIg
dGhhbiBwb2ludGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDlmYWU4YzZlMjE5ZGU4ZmFmYjU3ZDA1ZGY3ZGQy
NDBlY2RhYjU0ZjMuLmNlMGY1Mjk1NjhkNzEyZThmMDI1MTgwMmYxZTQwZWZiZGY2OWNlODEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNy0wOC0xNSAgUm9iaW4gTW9yaXNzZXQgIDxy
bW9yaXNzZXRAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSB0aGUgb3JkZXIgb2YgYXJndW1l
bnRzIG9mIEpTV2l0aFNjb3BlOjpjcmVhdGUoKSBmb3IgY29uc2lzdGVuY3kKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTU4NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIGNoYW5nZSBvZiBiZWhhdmlv
ci4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSFRNTEVsZW1lbnRDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNIVE1MRWxlbWVudDo6cHVzaEV2ZW50SGFuZGxlclNjb3BlIGNvbnN0
KToKKwogMjAxNy0wOC0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0NhY2hlIEFQSV0gRW5zdXJlIFJlc291cmNlUmVzcG9uc2UgaXMgbm90IG51bGwgd2hl
biByZWRpcmVjdGVkL3RhaW50aW5nL3R5cGUgZmllbGRzIGFyZSBzZXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAK
aW5kZXggY2M2NWRkNTI5YzMxNmFkZjBhMWQ4YzAxMWZjOTFjZDE2NWFlZTcxYS4uZTFjYzNlZTA4
ODk5NjUxYThjMTQ0ODY1Y2JjOGQxMjMxNmExYTUyYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTM3
NjYsOCArMzc2Niw4IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UHVzaFdp
dGhTY29wZShSZWdpc3RlcklEKiBvYmplY3RTY29wZSkKIAogICAgIGVtaXRPcGNvZGUob3BfcHVz
aF93aXRoX3Njb3BlKTsKICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQobmV3U2NvcGUtPmluZGV4
KCkpOwotICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChvYmplY3RTY29wZS0+aW5kZXgoKSk7CiAg
ICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHNjb3BlUmVnaXN0ZXIoKS0+aW5kZXgoKSk7CisgICAg
aW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKG9iamVjdFNjb3BlLT5pbmRleCgpKTsKIAogICAgIGVtaXRN
b3ZlKHNjb3BlUmVnaXN0ZXIoKSwgbmV3U2NvcGUpOwogICAgIG1fbGV4aWNhbFNjb3BlU3RhY2su
YXBwZW5kKHsgbnVsbHB0ciwgbmV3U2NvcGUsIHRydWUsIDAgfSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJDYWxsRnJhbWUuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQ2FsbEZyYW1lLmNwcAppbmRleCBhM2Vj
YzYwYzFkOTllOWRmNDg0MTNkMTU4NDg0NjY0ZGQxMjA0ZmZjLi41NjUzMjk2YmY2MjI3YmI1NGRj
YTZhYmJlYmJjYWI3Yzg0MGQyZmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGVidWdnZXIvRGVidWdnZXJDYWxsRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZWJ1Z2dlci9EZWJ1Z2dlckNhbGxGcmFtZS5jcHAKQEAgLTI1NSw3ICsyNTUsNyBAQCBKU1Zh
bHVlIERlYnVnZ2VyQ2FsbEZyYW1lOjpldmFsdWF0ZVdpdGhTY29wZUV4dGVuc2lvbihjb25zdCBT
dHJpbmcmIHNjcmlwdCwgSlNPYgogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBj
YWxsRnJhbWUtPnZtRW50cnlHbG9iYWxPYmplY3QoKTsKICAgICBpZiAoc2NvcGVFeHRlbnNpb25P
YmplY3QpIHsKICAgICAgICAgSlNTY29wZSogaWdub3JlZFByZXZpb3VzU2NvcGUgPSBnbG9iYWxP
YmplY3QtPmdsb2JhbFNjb3BlKCk7Ci0gICAgICAgIGdsb2JhbE9iamVjdC0+c2V0R2xvYmFsU2Nv
cGVFeHRlbnNpb24oSlNXaXRoU2NvcGU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBzY29wZUV4
dGVuc2lvbk9iamVjdCwgaWdub3JlZFByZXZpb3VzU2NvcGUpKTsKKyAgICAgICAgZ2xvYmFsT2Jq
ZWN0LT5zZXRHbG9iYWxTY29wZUV4dGVuc2lvbihKU1dpdGhTY29wZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIGlnbm9yZWRQcmV2aW91c1Njb3BlLCBzY29wZUV4dGVuc2lvbk9iamVjdCkpOwog
ICAgIH0KIAogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gdGhpcy0+dGhpc1ZhbHVlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IGZk
MDY0MWExNTM1NmJmMmQyZTYzOTJmMTQyNDgxMmJhNzIzOGZkNTMuLjVkZTdmM2EzY2NjMWJkN2Ux
NWI5Y2E0ZjJhYWYzMWJmZWQ3ZTBiOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC01NjUxLDkgKzU2NTEsOSBAQCBib29sIEJ5dGVD
b2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICB9CiAKICAgICAg
ICAgY2FzZSBvcF9wdXNoX3dpdGhfc2NvcGU6IHsKLSAgICAgICAgICAgIE5vZGUqIHNjb3BlT2Jq
ZWN0ID0gZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5k
KSk7Ci0gICAgICAgICAgICBOb2RlKiBjdXJyZW50U2NvcGUgPSBnZXQoVmlydHVhbFJlZ2lzdGVy
KGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQpKTsKLSAgICAgICAgICAgIHNldChWaXJ0
dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksIGFkZFRvR3JhcGgo
UHVzaFdpdGhTY29wZSwgc2NvcGVPYmplY3QsIGN1cnJlbnRTY29wZSkpOworICAgICAgICAgICAg
Tm9kZSogY3VycmVudFNjb3BlID0gZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rp
b25bMl0udS5vcGVyYW5kKSk7CisgICAgICAgICAgICBOb2RlKiBvYmplY3QgPSBnZXQoVmlydHVh
bFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQpKTsKKyAgICAgICAgICAg
IHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksIGFk
ZFRvR3JhcGgoUHVzaFdpdGhTY29wZSwgY3VycmVudFNjb3BlLCBvYmplY3QpKTsKICAgICAgICAg
ICAgIE5FWFRfT1BDT0RFKG9wX3B1c2hfd2l0aF9zY29wZSk7CiAgICAgICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5kZXggZmY4OWQwYTkyMDky
YTViYzM5MmY4MTY0NTk1MDc2NjdiNGViNzk5Ni4uYWU2ZTE2MTVlZTgzMWJkYTc5OGQwNjFmOTE0
ZGY4ZDVjYzE4Y2QxYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdG
aXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhh
c2UuY3BwCkBAIC0xNzEwLDYgKzE3MTAsNyBAQCBwcml2YXRlOgogCiAgICAgICAgIGNhc2UgQ3Jl
YXRlU2NvcGVkQXJndW1lbnRzOgogICAgICAgICBjYXNlIENyZWF0ZUFjdGl2YXRpb246CisgICAg
ICAgIGNhc2UgUHVzaFdpdGhTY29wZToKICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAg
ICAgY2FzZSBOZXdHZW5lcmF0b3JGdW5jdGlvbjoKICAgICAgICAgY2FzZSBOZXdBc3luY0Z1bmN0
aW9uOiB7CkBAIC0xNzE3LDEyICsxNzE4LDYgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAKLSAgICAgICAgY2FzZSBQdXNoV2l0aFNjb3BlOiB7Ci0gICAgICAgICAg
ICAvLyBDaGlsZDIgaXMgYWx3YXlzIHRoZSBjdXJyZW50IHNjb3BlLCB3aGljaCBpcyBndWFyYW50
ZWVkIHRvIGJlIGFuIG9iamVjdC4KLSAgICAgICAgICAgIGZpeEVkZ2U8S25vd25DZWxsVXNlPihu
b2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotCiAgICAgICAg
IGNhc2UgU2V0RnVuY3Rpb25OYW1lOiB7CiAgICAgICAgICAgICAvLyBUaGUgZmlyc3QgY2hpbGQg
aXMgZ3VhcmFudGVlZCB0byBiZSBhIGNlbGwgYmVjYXVzZSBvcF9zZXRfZnVuY3Rpb25fbmFtZSBp
cyBvbmx5IHVzZWQKICAgICAgICAgICAgIC8vIG9uIGEgbmV3bHkgaW5zdGFudGlhdGVkIGZ1bmN0
aW9uIG9iamVjdCAodGhlIGZpcnN0IGNoaWxkKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggMDU0OGRkNDIwNmNkOTMzMzg0OGU4OTk4
YWFjOWNiYzMwZDg2MjEwNS4uMTBhNDE1M2NmNGJiZTIxMzU2YmJhZDUyOTE1ZWY5ZTU3MGJkZGY2
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5j
cHAKQEAgLTExMjYsMTYgKzExMjYsMTcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZURl
bGV0ZUJ5VmFsKE5vZGUqIG5vZGUpCiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQdXNo
V2l0aFNjb3BlKE5vZGUqIG5vZGUpCiB7Ci0gICAgSlNWYWx1ZU9wZXJhbmQgc2NvcGVPYmplY3Qo
dGhpcywgbm9kZS0+Y2hpbGQxKCkpOwotICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGN1cnJlbnRT
Y29wZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAgSlNWYWx1ZVJlZ3Mgc2NvcGVPYmplY3RS
ZWdzID0gc2NvcGVPYmplY3QuanNWYWx1ZVJlZ3MoKTsKKyAgICBTcGVjdWxhdGVDZWxsT3BlcmFu
ZCBjdXJyZW50U2NvcGUodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwogICAgIEdQUlJlZyBjdXJyZW50
U2NvcGVHUFIgPSBjdXJyZW50U2NvcGUuZ3ByKCk7CiAKKyAgICBKU1ZhbHVlT3BlcmFuZCBvYmpl
Y3QodGhpcywgbm9kZS0+Y2hpbGQyKCkpOworICAgIEpTVmFsdWVSZWdzIG9iamVjdFJlZ3MgPSBv
YmplY3QuanNWYWx1ZVJlZ3MoKTsKKwogICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0
aGlzKTsKICAgICBHUFJSZWcgcmVzdWx0R1BSID0gcmVzdWx0LmdwcigpOwogICAgIAogICAgIGZs
dXNoUmVnaXN0ZXJzKCk7Ci0gICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25QdXNoV2l0aFNjb3Bl
LCByZXN1bHRHUFIsIGN1cnJlbnRTY29wZUdQUiwgc2NvcGVPYmplY3RSZWdzKTsKKyAgICBjYWxs
T3BlcmF0aW9uKG9wZXJhdGlvblB1c2hXaXRoU2NvcGUsIHJlc3VsdEdQUiwgY3VycmVudFNjb3Bl
R1BSLCBvYmplY3RSZWdzKTsKICAgICBtX2ppdC5leGNlcHRpb25DaGVjaygpOwogICAgIAogICAg
IGNlbGxSZXN1bHQocmVzdWx0R1BSLCBub2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAppbmRleCAwYjQ1Nzk0YzkzM2YwNTM1NmZhOWIxN2E1Nzcx
YTYxNmY4NWU0NzkyLi40MDY2OTk4YzUzMmY0NWY5N2FjYTRhYThiMWFmYjY0YzZmOTE2YTQxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCkBAIC0x
MTUsNiArMTE1LDcgQEAgaW5saW5lIENhcGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKE5vZGUqIG5v
ZGUpCiAgICAgY2FzZSBTa2lwU2NvcGU6CiAgICAgY2FzZSBHZXRHbG9iYWxPYmplY3Q6CiAgICAg
Y2FzZSBDcmVhdGVBY3RpdmF0aW9uOgorICAgIGNhc2UgUHVzaFdpdGhTY29wZToKICAgICBjYXNl
IE5ld0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3R2VuZXJhdG9yRnVuY3Rpb246CiAgICAgY2FzZSBO
ZXdBc3luY0Z1bmN0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExMb3dlckRGR1RvQjMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRG
R1RvQjMuY3BwCmluZGV4IDVkNTIxMThkODQ5OWE1MzI0MTBlZDk3NTFjMjBkYjllNzUxNGIyODIu
Ljk2NmVkM2FhYTk5YWIxMjZmOGMwN2EwYTJkMzIxOGRhNzJlODk4ODIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKQEAgLTczOSw2ICs3MzksOSBA
QCBwcml2YXRlOgogICAgICAgICBjYXNlIENyZWF0ZUFjdGl2YXRpb246CiAgICAgICAgICAgICBj
b21waWxlQ3JlYXRlQWN0aXZhdGlvbigpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgUHVzaFdpdGhTY29wZToKKyAgICAgICAgICAgIGNvbXBpbGVQdXNoV2l0aFNjb3BlKCk7Cisg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgY2Fz
ZSBOZXdHZW5lcmF0b3JGdW5jdGlvbjoKICAgICAgICAgY2FzZSBOZXdBc3luY0Z1bmN0aW9uOgpA
QCAtNDI2Miw3ICs0MjY1LDE3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KICAgICB9Ci0gICAgCisKKyAgICB2b2lkIGNvbXBpbGVQdXNoV2l0aFNjb3BlKCkKKyAg
ICB7CisgICAgICAgIExWYWx1ZSBwYXJlbnRTY29wZSA9IGxvd0NlbGwobV9ub2RlLT5jaGlsZDEo
KSk7CisgICAgICAgIExWYWx1ZSBvYmplY3QgPSBsb3dKU1ZhbHVlKG1fbm9kZS0+Y2hpbGQyKCkp
OworCisgICAgICAgIExWYWx1ZSByZXN1bHQgPSB2bUNhbGwoSW50NjQsIG1fb3V0Lm9wZXJhdGlv
bihvcGVyYXRpb25QdXNoV2l0aFNjb3BlKSwgbV9jYWxsRnJhbWUsIHBhcmVudFNjb3BlLCBvYmpl
Y3QpOworCisgICAgICAgIHNldEpTVmFsdWUocmVzdWx0KTsKKyAgICB9CisKICAgICB2b2lkIGNv
bXBpbGVDcmVhdGVBY3RpdmF0aW9uKCkKICAgICB7CiAgICAgICAgIExWYWx1ZSBzY29wZSA9IGxv
d0NlbGwobV9ub2RlLT5jaGlsZDEoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGVyYXRpb25zLmNwcAppbmRleCA2YmVlZDU2ZDNjZTkxYTJhNDIzY2YxZjg4ZTJmZTZjYjI2MDhh
ODI1Li5lODY0YmFmMzAwYjM5OWZiZmY3YzhjYjE5ZDQzZGVmZmY1OWViMjczIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTE5OTYsMTggKzE5OTYs
MTggQEAgc2l6ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGVsZXRlQnlWYWwoRXhlY1N0YXRl
KiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGUKICAgICByZXR1cm4gY291bGREZWxldGU7CiB9
CiAKLUpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXNoV2l0aFNjb3BlKEV4ZWNTdGF0
ZSogZXhlYywgSlNDZWxsKiBjdXJyZW50U2NvcGVDZWxsLCBFbmNvZGVkSlNWYWx1ZSBzY29wZU9i
amVjdFZhbHVlKQorSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1c2hXaXRoU2NvcGUo
RXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIGN1cnJlbnRTY29wZUNlbGwsIEVuY29kZWRKU1ZhbHVl
IG9iamVjdFZhbHVlKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2Fs
bEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJF
X1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIEpTT2JqZWN0KiBuZXdTY29wZSA9IEpTVmFsdWU6OmRl
Y29kZShzY29wZU9iamVjdFZhbHVlKS50b09iamVjdChleGVjKTsKKyAgICBKU09iamVjdCogb2Jq
ZWN0ID0gSlNWYWx1ZTo6ZGVjb2RlKG9iamVjdFZhbHVlKS50b09iamVjdChleGVjKTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKIAogICAgIEpTU2NvcGUqIGN1cnJl
bnRTY29wZSA9IGpzQ2FzdDxKU1Njb3BlKj4oY3VycmVudFNjb3BlQ2VsbCk7CiAKLSAgICByZXR1
cm4gSlNXaXRoU2NvcGU6OmNyZWF0ZSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBu
ZXdTY29wZSwgY3VycmVudFNjb3BlKTsKKyAgICByZXR1cm4gSlNXaXRoU2NvcGU6OmNyZWF0ZSh2
bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBjdXJyZW50U2NvcGUsIG9iamVjdCk7CiB9
CiAKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5zdGFuY2VPZihFeGVj
U3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFByb3RvKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaApp
bmRleCAyYmM0YmZlODk5ODM0MTFlOWY2NGE0M2YyODM2NjY4NjJmZTI5YmMyLi5lMjhhODk1ZWZi
N2Q4ZmIwNjdmY2Q1ZGRlZTQ1ZjQ1M2JiNDg4NzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuaApAQCAtNDE5LDcgKzQxOSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uRGVsZXRlQnlJZEpTUmVzdWx0KEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhCiBzaXplX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeUlkKEV4ZWNTdGF0
ZSosIEVuY29kZWRKU1ZhbHVlIGJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFM
OwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeVZhbEpTUmVz
dWx0KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGJhc2UsIEVuY29kZWRKU1ZhbHVlIHRhcmdl
dCkgV1RGX0lOVEVSTkFMOwogc2l6ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGVsZXRlQnlW
YWwoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgYmFzZSwgRW5jb2RlZEpTVmFsdWUgdGFyZ2V0
KSBXVEZfSU5URVJOQUw7Ci1KU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHVzaFdpdGhT
Y29wZShFeGVjU3RhdGUqLCBKU0NlbGwqIGN1cnJlbnRTY29wZUNlbGwsIEVuY29kZWRKU1ZhbHVl
IHNjb3BlT2JqZWN0KSBXVEZfSU5URVJOQUw7CitKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uUHVzaFdpdGhTY29wZShFeGVjU3RhdGUqLCBKU0NlbGwqIGN1cnJlbnRTY29wZUNlbGwsIEVu
Y29kZWRKU1ZhbHVlIG9iamVjdCkgV1RGX0lOVEVSTkFMOwogSlNDZWxsKiBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbkdldFBOYW1lcyhFeGVjU3RhdGUqLCBKU09iamVjdCopIFdURl9JTlRFUk5BTDsK
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5zdGFuY2VPZihFeGVjU3Rh
dGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgcHJvdG8pIFdURl9JTlRFUk5BTDsK
IGludDMyX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25TaXplRnJhbWVGb3JGb3J3YXJkQXJndW1l
bnRzKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGFyZ3VtZW50cywgaW50MzJfdCBudW1Vc2Vk
U3RhY2tTbG90cywgaW50MzJfdCBmaXJzdFZhckFyZ09mZnNldCkgV1RGX0lOVEVSTkFMOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAKaW5k
ZXggMTc2MWZjNzE3ZDgzM2U0ODFkYjI3NTY0NmU3YzVjZjU5MWM4YjJlNy4uZmZjYWUwY2ZlZjQy
NzE5MTA5OWZmNWMzMzdkZDY1ZWI1NTU4NmU5ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCkBAIC04MTQsMTIgKzgxNCwxMiBAQCBT
TE9XX1BBVEhfREVDTChzbG93X3BhdGhfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQpCiBTTE9X
X1BBVEhfREVDTChzbG93X3BhdGhfcHVzaF93aXRoX3Njb3BlKQogewogICAgIEJFR0lOKCk7Ci0g
ICAgSlNPYmplY3QqIG5ld1Njb3BlID0gT1BfQygyKS5qc1ZhbHVlKCkudG9PYmplY3QoZXhlYyk7
CisgICAgSlNPYmplY3QqIG5ld1Njb3BlID0gT1BfQygzKS5qc1ZhbHVlKCkudG9PYmplY3QoZXhl
Yyk7CiAgICAgQ0hFQ0tfRVhDRVBUSU9OKCk7CiAKLSAgICBpbnQgc2NvcGVSZWcgPSBwY1szXS51
Lm9wZXJhbmQ7CisgICAgaW50IHNjb3BlUmVnID0gcGNbMl0udS5vcGVyYW5kOwogICAgIEpTU2Nv
cGUqIGN1cnJlbnRTY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIoc2NvcGVSZWcpLlJlZ2lzdGVyOjpz
Y29wZSgpOwotICAgIFJFVFVSTihKU1dpdGhTY29wZTo6Y3JlYXRlKHZtLCBleGVjLT5sZXhpY2Fs
R2xvYmFsT2JqZWN0KCksIG5ld1Njb3BlLCBjdXJyZW50U2NvcGUpKTsKKyAgICBSRVRVUk4oSlNX
aXRoU2NvcGU6OmNyZWF0ZSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBjdXJyZW50
U2NvcGUsIG5ld1Njb3BlKSk7CiB9CiAKIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9yZXNvbHZl
X3Njb3BlX2Zvcl9ob2lzdGluZ19mdW5jX2RlY2xfaW5fZXZhbCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbXBsZXRpb24uY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29tcGxldGlvbi5jcHAKaW5kZXggODgyM2U2ZjYwMTYxMTJiNDczOWZh
MDI4ZjQzMWJjN2U4ZDdjOGIzNi4uN2RjODkzNWRhNDUyYWRiMGVmYTY4MzVhNThhYmYxZTczMWQw
OTMyOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tcGxldGlv
bi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tcGxldGlvbi5jcHAK
QEAgLTEyMyw3ICsxMjMsNyBAQCBKU1ZhbHVlIGV2YWx1YXRlV2l0aFNjb3BlRXh0ZW5zaW9uKEV4
ZWNTdGF0ZSogZXhlYywgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBKUwogCiAgICAgaWYgKHNj
b3BlRXh0ZW5zaW9uT2JqZWN0KSB7CiAgICAgICAgIEpTU2NvcGUqIGlnbm9yZWRQcmV2aW91c1Nj
b3BlID0gZ2xvYmFsT2JqZWN0LT5nbG9iYWxTY29wZSgpOwotICAgICAgICBnbG9iYWxPYmplY3Qt
PnNldEdsb2JhbFNjb3BlRXh0ZW5zaW9uKEpTV2l0aFNjb3BlOjpjcmVhdGUoZXhlYy0+dm0oKSwg
Z2xvYmFsT2JqZWN0LCBzY29wZUV4dGVuc2lvbk9iamVjdCwgaWdub3JlZFByZXZpb3VzU2NvcGUp
KTsKKyAgICAgICAgZ2xvYmFsT2JqZWN0LT5zZXRHbG9iYWxTY29wZUV4dGVuc2lvbihKU1dpdGhT
Y29wZTo6Y3JlYXRlKGV4ZWMtPnZtKCksIGdsb2JhbE9iamVjdCwgaWdub3JlZFByZXZpb3VzU2Nv
cGUsIHNjb3BlRXh0ZW5zaW9uT2JqZWN0KSk7CiAgICAgfQogCiAgICAgSlNWYWx1ZSByZXR1cm5W
YWx1ZSA9IEpTQzo6ZXZhbHVhdGUoZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCksIHNvdXJjZSwg
Z2xvYmFsT2JqZWN0LCByZXR1cm5lZEV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1dpdGhTY29wZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1dpdGhTY29wZS5jcHAKaW5kZXggZTgzZWQyYTBiZmMwMzBlNWVlODI3ODc2
NTgxZTlkNTVhMmYxMDExMS4uOWQ0YWQyYzdkMWVkMTBiNWRkMGFjMDJhMmMyMWQ3NzgyM2I2YTY3
YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNXaXRoU2NvcGUu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTV2l0aFNjb3BlLmNwcApA
QCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIGNvbnN0IENsYXNzSW5mbyBKU1dpdGhT
Y29wZTo6c19pbmZvID0geyAiV2l0aFNjb3BlIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVs
bHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1dpdGhTY29wZSkgfTsKIAogSlNXaXRoU2NvcGUq
IEpTV2l0aFNjb3BlOjpjcmVhdGUoCi0gICAgVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU09iamVjdCogb2JqZWN0LCBKU1Njb3BlKiBuZXh0KQorICAgIFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNTY29wZSogbmV4dCwgSlNPYmplY3QqIG9iamVj
dCkKIHsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+d2l0aFNjb3Bl
U3RydWN0dXJlKCk7CiAgICAgSlNXaXRoU2NvcGUqIHdpdGhTY29wZSA9IG5ldyAoTm90TnVsbCwg
YWxsb2NhdGVDZWxsPEpTV2l0aFNjb3BlPih2bS5oZWFwKSkgSlNXaXRoU2NvcGUodm0sIHN0cnVj
dHVyZSwgb2JqZWN0LCBuZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTV2l0aFNjb3BlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1dp
dGhTY29wZS5oCmluZGV4IDM5ZTA5ZTNjM2I4ZmE5Y2ZmNzA4YzFlZTM4Yzg1MmYzMTRhM2U4Mzcu
LjI4NDdiZDhhYzY4Y2YxZDFkMGU4NjUxZDM0MTc5NjJlYjg0MmExNjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTV2l0aFNjb3BlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNXaXRoU2NvcGUuaApAQCAtMzMsNyArMzMsNyBAQCBjbGFz
cyBKU1dpdGhTY29wZSA6IHB1YmxpYyBKU1Njb3BlIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEpT
U2NvcGUgQmFzZTsKIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBKU1dpdGhTY29wZSog
Y3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIEpTU2NvcGUqIG5leHQpOwor
ICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBKU1dpdGhTY29wZSogY3JlYXRlKFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBKU1Njb3BlKiBuZXh0LCBKU09iamVjdCopOwogCiAgICAgSlNPYmplY3Qq
IG9iamVjdCgpIHsgcmV0dXJuIG1fb2JqZWN0LmdldCgpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTEVsZW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNIVE1MRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggNDM3OTJhOWQ4
NDk5ZGUzYjVkNzkwNGI4MzhkZTY1ZmY4NjZmYzE5NS4uMGU0OTVlZGM5MjVhZWIwN2JlZWRkOGI1
YjU1ZjM4YWFiOWJjODY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNIVE1MRWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNIVE1MRWxlbWVudEN1c3RvbS5jcHAKQEAgLTEyMCwxNCArMTIwLDE0IEBAIEpTU2NvcGUqIEpT
SFRNTEVsZW1lbnQ6OnB1c2hFdmVudEhhbmRsZXJTY29wZShFeGVjU3RhdGUqIGV4ZWMsIEpTU2Nv
cGUqIHNjb3BlKSBjCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsKICAg
ICAKLSAgICBzY29wZSA9IEpTV2l0aFNjb3BlOjpjcmVhdGUodm0sIGxleGljYWxHbG9iYWxPYmpl
Y3QsIGFzT2JqZWN0KHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0KCksIGVsZW1lbnQuZG9jdW1lbnQo
KSkpLCBzY29wZSk7CisgICAgc2NvcGUgPSBKU1dpdGhTY29wZTo6Y3JlYXRlKHZtLCBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBzY29wZSwgYXNPYmplY3QodG9KUyhleGVjLCBnbG9iYWxPYmplY3QoKSwg
ZWxlbWVudC5kb2N1bWVudCgpKSkpOwogCiAgICAgLy8gVGhlIGZvcm0gaXMgbmV4dCwgc2VhcmNo
ZWQgYmVmb3JlIHRoZSBkb2N1bWVudCwgYnV0IGFmdGVyIHRoZSBlbGVtZW50IGl0c2VsZi4KICAg
ICBpZiAoSFRNTEZvcm1FbGVtZW50KiBmb3JtID0gZWxlbWVudC5mb3JtKCkpCi0gICAgICAgIHNj
b3BlID0gSlNXaXRoU2NvcGU6OmNyZWF0ZSh2bSwgbGV4aWNhbEdsb2JhbE9iamVjdCwgYXNPYmpl
Y3QodG9KUyhleGVjLCBnbG9iYWxPYmplY3QoKSwgKmZvcm0pKSwgc2NvcGUpOworICAgICAgICBz
Y29wZSA9IEpTV2l0aFNjb3BlOjpjcmVhdGUodm0sIGxleGljYWxHbG9iYWxPYmplY3QsIHNjb3Bl
LCBhc09iamVjdCh0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCAqZm9ybSkpKTsKIAogICAgIC8v
IFRoZSBlbGVtZW50IGlzIG9uIHRvcCwgc2VhcmNoZWQgZmlyc3QuCi0gICAgcmV0dXJuIEpTV2l0
aFNjb3BlOjpjcmVhdGUodm0sIGxleGljYWxHbG9iYWxPYmplY3QsIGFzT2JqZWN0KHRvSlMoZXhl
YywgZ2xvYmFsT2JqZWN0KCksIGVsZW1lbnQpKSwgc2NvcGUpOworICAgIHJldHVybiBKU1dpdGhT
Y29wZTo6Y3JlYXRlKHZtLCBsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgYXNPYmplY3QodG9K
UyhleGVjLCBnbG9iYWxPYmplY3QoKSwgZWxlbWVudCkpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxv
ZwppbmRleCAzY2YzNzM4MzFhZGJhNzYzYzYxZDQ2YjVhMThlZDdjMTNlMjY4MzhmLi4zYjk3ZjRm
YzU5ZDI5Nzg5MzhhYjIyMWU2NDVhNTNjZmRjMmVmOWI2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0No
YW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTA4
LTE1ICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CisKKyAgICAgICAgU3Vw
cG9ydCB0aGUgJ3dpdGgnIGtleXdvcmQgaW4gRlRMLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWxzbyBpbXByb3ZlIHRoZSBKU1Rlc3Qvc3RyZXNzL3dp
dGguanMgZmlsZSB0byB0ZXN0CisgICAgICAgIHdoYXQgaGFwcGVucyB3aGVuIG5vbi1vYmplY3Rz
IGFyZSBwYXNzZWQgdG8gd2l0aC4KKworICAgICAgICAqIHN0cmVzcy93aXRoLmpzOgorICAgICAg
ICAoZm9vKToKKyAgICAgICAgKGkuY2F0Y2gpOgorICAgICAgICAoaS53aXRoKTogRGVsZXRlZC4K
KwogMjAxNy0wOC0xNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBBZGQgdGVzdGluZyB0b29sIHRvIGxpZSB0byB0aGUgREZHIGFib3V0IHByb2ZpbGVz
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy93aXRoLmpzIGIvSlNUZXN0cy9zdHJlc3Mvd2l0
aC5qcwppbmRleCBhZDhjMjkzNzdmZTRkYzUwMGE2Y2QyZTM0Mzk3MjI2MDE1ODNmZjY1Li5iOWFk
MGMyOGY1YjNhYTM4MDlmZGYyYzk2NTMwZWFkODE5ZDM4OWJkIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3N0cmVzcy93aXRoLmpzCisrKyBiL0pTVGVzdHMvc3RyZXNzL3dpdGguanMKQEAgLTEsMzYgKzEs
MjQgQEAKLWZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgewotICAgIHZhciB4ID0gMTsK
LSAgICB2YXIgeSA9IDI7Ci0KLSAgICB2YXIgeiA9IHthOiA0Mn07Ci0gICAgd2l0aCAoeikgewot
ICAgICAgICB4ID0geTsKLSAgICB9Ci0gICAgaWYgKHggIT09IDIgfHwgeSAhPT0gMiB8fCB6LmEg
IT09IDQyKSB7Ci0gICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdCwgZmlyc3QgY2FzZSwg
Zm9yIGkgPSAiICsgaTsKLSAgICB9Ci0KLSAgICB6ID0ge3k6IDQyfQotICAgIHdpdGggKHopIHsK
LSAgICAgICAgeCA9IHk7Ci0gICAgfQotICAgIGlmICh4ICE9PSA0MiB8fCB5ICE9PSAyIHx8IHou
eSAhPT0gNDIpIHsKLSAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0LCBzZWNvbmQgY2Fz
ZSwgZm9yIGkgPSAiICsgaTsKLSAgICB9Ci0KLSAgICB6ID0ge3g6IDEzfTsKLSAgICB3aXRoICh6
KSB7CitmdW5jdGlvbiBmb28gKHgsIHksIHosIG5ld1gsIGNoZWNrWiwgZXJyb3JNZXNzYWdlKSB7
CisgICAgd2l0aCh6KSB7CiAgICAgICAgIHggPSB5OwogICAgIH0KLSAgICBpZiAoeCAhPT0gNDIg
fHwgeSAhPT0gMiB8fCB6LnggIT09IDIpIHsKLSAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVz
dWx0LCB0aGlyZCBjYXNlLCBmb3IgaSA9ICIgKyBpOworICAgIGlmICh4ICE9PSBuZXdYIHx8ICFj
aGVja1ooeikpIHsKKyAgICAgICAgdGhyb3cgZXJyb3JNZXNzYWdlOwogICAgIH0KK30KIAotICAg
IHogPSB7eDoxMywgeToxNH07Ci0gICAgd2l0aCAoeikgewotICAgICAgICB4ID0geTsKLSAgICB9
Ci0gICAgaWYgKHggIT09IDQyIHx8IHkgIT09IDIgfHwgei54ICE9PSAxNCB8fCB6LnkgIT09IDE0
KSB7Ci0gICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdCwgZm91cnRoIGNhc2UsIGZvciBp
ID0gIiArIGk7Citmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb28oMSwg
Miwge2E6NDJ9LCAyLCB6ID0+IHouYSA9PT0gNDIsICJFcnJvcjogYmFkIHJlc3VsdCBmb3Igbm9u
LW92ZXJsYXBwaW5nIGNhc2UsIGkgPSAiICsgaSk7CisgICAgZm9vKDEsIDIsIHt4OjQyfSwgMSwg
eiA9PiB6LnggPT09IDIsICJFcnJvcjogYmFkIHJlc3VsdCBmb3Igc2V0dGVyIGNhc2UsIGkgPSAi
ICsgaSk7CisgICAgZm9vKDEsIDIsIHt5OjQyfSwgNDIsIHogPT4gei55ID09PSA0MiwgIkVycm9y
OiBiYWQgcmVzdWx0IGZvciBnZXR0ZXIgY2FzZSwgaSA9ICIgKyBpKTsKKyAgICBmb28oMSwgMiwg
e3g6NDIsIHk6MTN9LCAxLCB6ID0+IHoueCA9PT0gMTMgJiYgei55ID09PSAxMywgIkVycm9yOiBi
YWQgcmVzdWx0IGZvciBzZXR0ZXIvZ2V0dGVyIGNhc2UsIGkgPSAiICsgaSk7CisgICAgZm9vKDEs
IDIsICJ0b3RvIiwgMiwgeiA9PiB6ID09PSAidG90byIsICJFcnJvcjogYmFkIHJlc3VsdCBmb3Ig
c3RyaW5nIGNhc2UsIGkgPSAiICsgaSk7CisgICAgdHJ5IHsKKyAgICAgICAgZm9vKDEsIDIsIG51
bGwsIDIsIHogPT4KKyAgICAgICAgICAgICAgICB7dGhyb3cgIkVycm9yOiBtaXNzaW5nIHR5cGUg
ZXJyb3IsIGkgPSAiICsgaX0sICJVbnJlYWNoYWJsZSIpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAg
ICAgICAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKKyAgICAgICAgICAgIHRocm93
IGU7CisgICAgICAgIH0KICAgICB9CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>