<?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>91444</bug_id>
          
          <creation_ts>2012-07-16 16:39:44 -0700</creation_ts>
          <short_desc>dumpCallFrame is broken in ToT</short_desc>
          <delta_ts>2012-07-18 16:26:19 -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>New Bugs</component>
          <version>528+ (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>
          <dependson>91462</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>jberlin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>670774</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2012-07-16 16:39:44 -0700</bug_when>
    <thetext>dumpCallFrame is broken in ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670796</commentid>
    <comment_count>1</comment_count>
      <attachid>152649</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2012-07-16 17:14:38 -0700</bug_when>
    <thetext>Created attachment 152649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670826</commentid>
    <comment_count>2</comment_count>
      <attachid>152649</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-16 17:40:33 -0700</bug_when>
    <thetext>Comment on attachment 152649
Patch

Attachment 152649 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13260176</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670861</commentid>
    <comment_count>3</comment_count>
      <attachid>152664</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2012-07-16 18:05:13 -0700</bug_when>
    <thetext>Created attachment 152664
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670870</commentid>
    <comment_count>4</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2012-07-16 18:14:26 -0700</bug_when>
    <thetext>Committed r122790: &lt;http://trac.webkit.org/changeset/122790&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670881</commentid>
    <comment_count>5</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2012-07-16 18:30:04 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Committed r122790: &lt;http://trac.webkit.org/changeset/122790&gt;

This broke the Windows build:

http://build.webkit.org/builders/Apple%20Win%20Release%20%28Build%29/builds/33091/steps/compile-webkit/logs/stdio

3&gt;Linking...
3&gt;   Creating library C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\lib\JavaScriptCore.lib and object C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\lib\JavaScriptCore.exp
3&gt;JavaScriptCore.exp : error LNK2001: unresolved external symbol &quot;public: void __thiscall JSC::Interpreter::dumpCallFrame(class JSC::ExecState *)&quot; (?dumpCallFrame@Interpreter@JSC@@QAEXPAVExecState@2@@Z)
3&gt;C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\bin\JavaScriptCore.dll : fatal error LNK1120: 1 unresolved externals
3&gt;Build log was saved at &quot;file://C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\obj\JavaScriptCore\BuildLog.htm&quot;
3&gt;JavaScriptCore - 2 error(s), 0 warning(s)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670891</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-16 18:44:34 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 91462</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672940</commentid>
    <comment_count>7</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2012-07-18 16:26:19 -0700</bug_when>
    <thetext>Committed r123042: &lt;http://trac.webkit.org/changeset/123042&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152649</attachid>
            <date>2012-07-16 17:14:38 -0700</date>
            <delta_ts>2012-07-16 18:05:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91444-20120716171437.patch</filename>
            <type>text/plain</type>
            <size>17025</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNzUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
ZjMzMjViNzc5ZmFmOTQ1NWNmYzU2ZjNjMTMxODdmNjk0YmQ3YzRkLi5jODYxMTYzZGY4ZTYyN2Iz
Zjc5NDlhZTc5Y2M3YWVkNWI2YTY3Mzc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MCBAQAorMjAxMi0wNy0xNiAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIGR1bXBDYWxsRnJhbWUgaXMgYnJva2VuIGluIFRvVAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE0NDQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBWYXJpb3VzIGNoYW5nZXMgaGF2ZSBiZWVu
IG1hZGUgdG8gdGhlIFNGIGNhbGxpbmcgY29udmVudGlvbiwgYnV0CisgICAgICAgIGR1bXBDYWxs
RnJhbWUgaGFzIG5vdCBiZWVuIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGVzZSBjaGFuZ2VzLgorICAg
ICAgICBUaGF0IHJlc3VsdGVkIGluIGJvdGggYm9ndXMgaW5mb3JtYXRpb24sIGFzIHdlbGwgYXMg
bnVtZXJvdXMKKyAgICAgICAgYXNzZXJ0aW9ucyBvZiBzYWRuZXNzLgorCisgICAgICAgIFRoaXMg
cGF0Y2ggbWFrZXMgZHVtcENhbGxGcmFtZSBhY3R1YWxseSB3b3JrIGFnYWluIGFuZCBhZGRzIHRo
ZQorICAgICAgICB3b25kZXJmdWwgZmVhdHVyZSBvZiB0ZWxsaW5nIHlvdSB0aGUgbmFtZSBvZiB0
aGUgdmFyaWFibGUgdGhhdCBhCisgICAgICAgIHJlZ2lzdGVyIHJlZmxlY3RzLCBvciB3aGF0IHZh
bHVlIGl0IGNvbnRhaW5zLgorCisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAg
ICAgICAgKEpTQzo6Q29kZUJsb2NrOjpuYW1lRm9yUmVnaXN0ZXIpOgorICAgICAgICAgICAgQSBy
ZWFsbHkgaW5uZWZmaWNpZW50IG1lY2hhbmlzbSBmb3IgZmluZGluZyB0aGUgbmFtZSBvZiBhIGxv
Y2FsIHJlZ2lzdGVyLgorICAgICAgICAgICAgVGhpcyBzaG91bGQgb25seSBldmVyIGJlIHVzZWQg
YnkgZGVidWcgY29kZSBzbyB0aGlzIHNob3VsZCBiZSBva2F5LgorICAgICAgICAqIGJ5dGVjb2Rl
L0NvZGVCbG9jay5oOgorICAgICAgICAoQ29kZUJsb2NrKToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRv
cjo6Z2VuZXJhdGUpOgorICAgICAgICAgICAgRGVidWcgYnVpbGRzIG5vIGxvbmdlciB0aHJvdyBh
d2F5IGEgZnVuY3Rpb25zIHN5bWJvbCB0YWJsZSwgdGhpcyBhbGxvd3MKKyAgICAgICAgICAgIHVz
IHRvIGFjdHVhbGx5IHBlcmZvcm0gYSByZWdpc3RlciMgdG8gbmFtZSBtYXBwaW5nCisgICAgICAg
ICogZGZnL0RGR0pJVENvbXBpbGVyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb21waWxl
cjo6bGluayk6CisgICAgICAgICAgICBXZSB3ZXJlbid0IHByb3BvZ2F0aW5nIHRoZSBieXRlY29k
ZSBvZmZzZXQgaGVyZSBsZWFkaW5nIHRvIGFzc2VydGlvbnMKKyAgICAgICAgICAgIGluIGRlYnVn
IGJ1aWxkcyB3aGVuIGR1bXBpbmcgYnl0ZWNvZGUgb2YgREZHIGNvbXBpbGVkIGNvZGUuCisgICAg
ICAgICogaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAg
ICAgKEpTQzo6SW50ZXJwcmV0ZXI6OmR1bXBSZWdpc3RlcnMpOgorICAgICAgICAgICAgIFJld29y
ayB0byBhY3R1YWxseSBiZSBjb3JyZWN0LgorICAgICAgICAoSlNDOjpnZXRDYWxsZXJJbmZvKToK
KyAgICAgICAgICAgICBSZXR1cm4gdGhlIGJ5dGVvY2RlIG9mZnNldCBhcyB3ZWxsIG5vdywgZ2l2
ZW4gd2UgaGF2ZSB0byBkZXRlcm1pbmUgaXQKKyAgICAgICAgICAgICBhbnl3YXkuCisgICAgICAg
IChKU0M6OkludGVycHJldGVyOjpnZXRTdGFja1RyYWNlKToKKyAgICAgICAgKEpTQzo6SW50ZXJw
cmV0ZXI6OnJldHJpZXZlQ2FsbGVyRnJvbVZNQ29kZSk6CisgICAgICAgICogaW50ZXJwcmV0ZXIv
SW50ZXJwcmV0ZXIuaDoKKyAgICAgICAgKEludGVycHJldGVyKToKKyAgICAgICAgKiBqc2MuY3Bw
OgorICAgICAgICAoR2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChmdW5j
dGlvbkR1bXBDYWxsRnJhbWUpOgorICAgICAgICAgICAgIEdpdmUgZGVidWcgYnVpbGRzIG9mIEpT
QyBhIG1ldGhvZCBmb3IgY2FsbGluZyBkdW1wQ2FsbEZyYW1lIHNvIHdlIGNhbgorICAgICAgICAg
ICAgIGluc3BlY3QgYSBjYWxsZnJhbWUgd2l0aG91dCByZXF1aXJpbmcgdXMgdG8gYnJlYWsgaW4g
YSBkZWJ1Z2dlci4KKwogMjAxMi0wNy0xNiAgR2Fib3IgUmFwY3NhbnlpICA8cmdhYm9yQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZGZpeCBhZnRlciByMTIyNzI5LiBUeXBv
IGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5k
ZXggZDQxN2E1ZmJkMzA2MmRjMzg4NTY5MDdmNjVhZGEwYzFhMjM4Y2Q5NC4uMzYzZWZhMjhhOGE4
NGEyNGRlNmQ4ZWYxZDczYWI5NGZhZjI4NThiZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKQEAgLTI5NDIsNCArMjk0MiwyOSBAQCBib29sIENvZGVC
bG9jazo6dXNlc09wY29kZShPcGNvZGVJRCBvcGNvZGVJRCkKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKK1VTdHJpbmcgQ29kZUJsb2NrOjpuYW1lRm9yUmVnaXN0ZXIoaW50IHJlZ2lzdGVyTnVtYmVy
KQoreworICAgIFN5bWJvbFRhYmxlOjppdGVyYXRvciBlbmQgPSBtX3N5bWJvbFRhYmxlLT5lbmQo
KTsKKyAgICBmb3IgKFN5bWJvbFRhYmxlOjppdGVyYXRvciBwdHIgPSBtX3N5bWJvbFRhYmxlLT5i
ZWdpbigpOyBwdHIgIT0gZW5kOyArK3B0cikgeworICAgICAgICBpZiAocHRyLT5zZWNvbmQuZ2V0
SW5kZXgoKSA9PSByZWdpc3Rlck51bWJlcikKKyAgICAgICAgICAgIHJldHVybiBVU3RyaW5nKHB0
ci0+Zmlyc3QpOworICAgIH0KKyAgICBpZiAobmVlZHNBY3RpdmF0aW9uKCkgJiYgcmVnaXN0ZXJO
dW1iZXIgPT0gYWN0aXZhdGlvblJlZ2lzdGVyKCkpCisgICAgICAgIHJldHVybiAiYWN0aXZhdGlv
biI7CisgICAgaWYgKHJlZ2lzdGVyTnVtYmVyID09IHRoaXNSZWdpc3RlcigpKQorICAgICAgICBy
ZXR1cm4gInRoaXMiOworICAgIGlmICh1c2VzQXJndW1lbnRzKCkpIHsKKyAgICAgICAgaWYgKHJl
Z2lzdGVyTnVtYmVyID09IGFyZ3VtZW50c1JlZ2lzdGVyKCkpCisgICAgICAgICAgICByZXR1cm4g
ImFyZ3VtZW50cyI7CisgICAgICAgIGlmICh1bm1vZGlmaWVkQXJndW1lbnRzUmVnaXN0ZXIoYXJn
dW1lbnRzUmVnaXN0ZXIoKSkgPT0gcmVnaXN0ZXJOdW1iZXIpCisgICAgICAgICAgICByZXR1cm4g
InJlYWwgYXJndW1lbnRzIjsKKyAgICB9CisgICAgaWYgKHJlZ2lzdGVyTnVtYmVyIDwgMCkgewor
ICAgICAgICBpbnQgYXJndW1lbnRQb3NpdGlvbiA9IC1yZWdpc3Rlck51bWJlcjsKKyAgICAgICAg
YXJndW1lbnRQb3NpdGlvbiAtPSBSZWdpc3RlckZpbGU6OkNhbGxGcmFtZUhlYWRlclNpemUgKyAx
OworICAgICAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoImFyZ3VtZW50c1slM2RdIiwgYXJndW1l
bnRQb3NpdGlvbiAtIDEpLmltcGwoKTsKKyAgICB9CisgICAgcmV0dXJuICIiOworfQorCiB9IC8v
IG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db2RlQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aAppbmRleCA1NmVkZTU5NWFhZjkxYjBlMzQzMjBjOWNlNDdjNmFlN2FhMWI5MzFmLi4yYTdkMjEy
MGE0MjQwMjE2MTg5MGNiZGJlNWVhM2E1MTllMzg1ZWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC01NzgsNyArNTc4LDkgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHZvaWQgY3JlYXRlQWN0aXZhdGlvbihDYWxsRnJhbWUqKTsKIAogICAgICAg
ICB2b2lkIGNsZWFyRXZhbENhY2hlKCk7Ci0KKyAgICAgICAgCisgICAgICAgIFVTdHJpbmcgbmFt
ZUZvclJlZ2lzdGVyKGludCByZWdpc3Rlck51bWJlcik7CisgICAgICAgIAogICAgICAgICB2b2lk
IGFkZFByb3BlcnR5QWNjZXNzSW5zdHJ1Y3Rpb24odW5zaWduZWQgcHJvcGVydHlBY2Nlc3NJbnN0
cnVjdGlvbikKICAgICAgICAgewogICAgICAgICAgICAgbV9wcm9wZXJ0eUFjY2Vzc0luc3RydWN0
aW9ucy5hcHBlbmQocHJvcGVydHlBY2Nlc3NJbnN0cnVjdGlvbik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmlu
ZGV4IGIxMDQ3ODhjODQ5OTEwMzI5NWYwNjQ3YjU4OTlmODI1OTQ3YWFlNmMuLjMzZjI4MmM2NjQ2
NTYwOTQzMzlhNGY2NjYzNTRhMTFkOGI2MjI3NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xOTMs
OCArMTkzLDEwIEBAIEpTT2JqZWN0KiBCeXRlY29kZUdlbmVyYXRvcjo6Z2VuZXJhdGUoKQogICAg
IGlmIChzX2R1bXBzR2VuZXJhdGVkQ29kZSkKICAgICAgICAgbV9jb2RlQmxvY2stPmR1bXAobV9z
Y29wZUNoYWluLT5nbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKSk7CiAKKyNpZmRlZiBOREVCVUcK
ICAgICBpZiAoKG1fY29kZVR5cGUgPT0gRnVuY3Rpb25Db2RlICYmICFtX2NvZGVCbG9jay0+bmVl
ZHNGdWxsU2NvcGVDaGFpbigpICYmICFtX2NvZGVCbG9jay0+dXNlc0FyZ3VtZW50cygpKSB8fCBt
X2NvZGVUeXBlID09IEV2YWxDb2RlKQogICAgICAgICBzeW1ib2xUYWJsZSgpLmNsZWFyKCk7Cisj
ZW5kaWYKIAogICAgIG1fY29kZUJsb2NrLT5zaHJpbmtUb0ZpdChDb2RlQmxvY2s6OkVhcmx5U2hy
aW5rKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21w
aWxlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcApp
bmRleCAyZWJlZTEzYzEyMDMzZDRkMjAwYjlkMjg3YTI2OTIzZTdhOTI4YTg4Li4yMWU0NDYwYmUz
NmU3MWVjZjY5ZWFkYzg1MzY1YmZhZGEyM2QzZThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcApAQCAtMTg4LDYgKzE4OCw3IEBAIHZvaWQgSklUQ29t
cGlsZXI6OmxpbmsoTGlua0J1ZmZlciYgbGlua0J1ZmZlcikKICAgICAgICAgQ2FsbExpbmtJbmZv
JiBpbmZvID0gbV9jb2RlQmxvY2stPmNhbGxMaW5rSW5mbyhpKTsKICAgICAgICAgaW5mby5jYWxs
VHlwZSA9IG1fanNDYWxsc1tpXS5tX2NhbGxUeXBlOwogICAgICAgICBpbmZvLmlzREZHID0gdHJ1
ZTsKKyAgICAgICAgaW5mby5ieXRlY29kZUluZGV4ID0gbV9qc0NhbGxzW2ldLm1fY29kZU9yaWdp
bi5ieXRlY29kZUluZGV4OwogICAgICAgICBsaW5rQnVmZmVyLmxpbmsobV9qc0NhbGxzW2ldLm1f
c2xvd0NhbGwsIEZ1bmN0aW9uUHRyKChtX2dsb2JhbERhdGEtPmdldENUSVN0dWIoaW5mby5jYWxs
VHlwZSA9PSBDYWxsTGlua0luZm86OkNvbnN0cnVjdCA/IGxpbmtDb25zdHJ1Y3RUaHVua0dlbmVy
YXRvciA6IGxpbmtDYWxsVGh1bmtHZW5lcmF0b3IpKS5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3Mo
KSkpOwogICAgICAgICBpbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbiA9IGxpbmtCdWZmZXIubG9jYXRp
b25PZk5lYXJDYWxsKG1fanNDYWxsc1tpXS5tX3Nsb3dDYWxsKTsKICAgICAgICAgaW5mby5ob3RQ
YXRoQmVnaW4gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2YobV9qc0NhbGxzW2ldLm1fdGFyZ2V0VG9D
aGVjayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50
ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJl
dGVyLmNwcAppbmRleCBiNjA3MmE1ZDZjYThkOWMxYTM4NTQxNzllNzRiNGZiMDhkZDIyNGE4Li5m
ZDJiOWNhNjFiMjNjZThjZDEyM2FhZTQwYjVmODg1NzE4YmIwM2QwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTc3LDYgKzc3
LDggQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIEpTQyB7CiAKK3N0YXRpYyBD
YWxsRnJhbWUqIGdldENhbGxlckluZm8oSlNHbG9iYWxEYXRhKiwgQ2FsbEZyYW1lKiwgaW50JiBs
aW5lTnVtYmVyLCB1bnNpZ25lZCYgYnl0ZWNvZGVPZmZzZXQpOworCiAvLyBSZXR1cm5zIHRoZSBk
ZXB0aCBvZiB0aGUgc2NvcGUgY2hhaW4gd2l0aGluIGEgZ2l2ZW4gY2FsbCBmcmFtZS4KIHN0YXRp
YyBpbnQgZGVwdGgoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIFNjb3BlQ2hhaW5Ob2RlKiBzYykKIHsK
QEAgLTYyNCwzNCArNjI2LDQyIEBAIHZvaWQgSW50ZXJwcmV0ZXI6OmR1bXBSZWdpc3RlcnMoQ2Fs
bEZyYW1lKiBjYWxsRnJhbWUpCiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBjYWxsRnJhbWUt
PmNvZGVCbG9jaygpOwogICAgIGNvbnN0IFJlZ2lzdGVyKiBpdDsKICAgICBjb25zdCBSZWdpc3Rl
ciogZW5kOwotICAgIEpTVmFsdWUgdjsKIAotICAgIGl0ID0gY2FsbEZyYW1lLT5yZWdpc3RlcnMo
KSAtIFJlZ2lzdGVyRmlsZTo6Q2FsbEZyYW1lSGVhZGVyU2l6ZSAtIGNvZGVCbG9jay0+bnVtUGFy
YW1ldGVycygpOwotICAgIHYgPSAoKml0KS5qc1ZhbHVlKCk7CisgICAgaXQgPSBjYWxsRnJhbWUt
PnJlZ2lzdGVycygpIC0gUmVnaXN0ZXJGaWxlOjpDYWxsRnJhbWVIZWFkZXJTaXplIC0gY2FsbEZy
YW1lLT5hcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcygpOworICAgIGVuZCA9IGNhbGxGcmFtZS0+
cmVnaXN0ZXJzKCkgLSBSZWdpc3RlckZpbGU6OkNhbGxGcmFtZUhlYWRlclNpemU7CisgICAgd2hp
bGUgKGl0IDwgZW5kKSB7CisgICAgICAgIEpTVmFsdWUgdiA9IGl0LT5qc1ZhbHVlKCk7CisgICAg
ICAgIGludCByZWdpc3Rlck51bWJlciA9IGl0IC0gY2FsbEZyYW1lLT5yZWdpc3RlcnMoKTsKKyAg
ICAgICAgVVN0cmluZyBuYW1lID0gY29kZUJsb2NrLT5uYW1lRm9yUmVnaXN0ZXIocmVnaXN0ZXJO
dW1iZXIpOwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgZGF0YUxvZygiW3RoaXNdICAgICAg
ICAgICAgICAgICAgICAgfCAlMTBwIHwgJS0xNnMgMHglbGx4IFxuIiwgaXQsIHYuZGVzY3JpcHRp
b24oKSwgSlNWYWx1ZTo6ZW5jb2RlKHYpKTsgKytpdDsKKyAgICAgICAgZGF0YUxvZygiW3IlIDNk
ICUxNHNdICAgICAgfCAlMTBwIHwgJS0xNnMgMHglbGx4IFxuIiwgcmVnaXN0ZXJOdW1iZXIsIG5h
bWUuYXNjaWkoKS5kYXRhKCksIGl0LCB2LmRlc2NyaXB0aW9uKCksIEpTVmFsdWU6OmVuY29kZSh2
KSk7CiAjZWxzZQotICAgIGRhdGFMb2coIlt0aGlzXSAgICAgICAgICAgICAgICAgICAgIHwgJTEw
cCB8ICUtMTZzICVwIFxuIiwgaXQsIHYuZGVzY3JpcHRpb24oKSwgSlNWYWx1ZTo6ZW5jb2RlKHYp
KTsgKytpdDsKKyAgICAgICAgZGF0YUxvZygiW3IlIDNkICUxNHNdICAgICAgfCAlMTBwIHwgJS0x
NnMgJXAgXG4iLCByZWdpc3Rlck51bWJlciwgbmFtZS5hc2NpaSgpLmRhdGEoKSwgaXQsIHYuZGVz
Y3JpcHRpb24oKSwgSlNWYWx1ZTo6ZW5jb2RlKHYpKTsKICNlbmRpZgotICAgIGVuZCA9IGl0ICsg
bWF4KGNvZGVCbG9jay0+bnVtUGFyYW1ldGVycygpIC0gMSwgMCk7IC8vIC0gMSB0byBza2lwICJ0
aGlzIgotICAgIGlmIChpdCAhPSBlbmQpIHsKLSAgICAgICAgZG8gewotICAgICAgICAgICAgdiA9
ICgqaXQpLmpzVmFsdWUoKTsKLSNpZiBVU0UoSlNWQUxVRTMyXzY0KQotICAgICAgICAgICAgZGF0
YUxvZygiW3BhcmFtXSAgICAgICAgICAgICAgICAgICAgfCAlMTBwIHwgJS0xNnMgMHglbGx4IFxu
IiwgaXQsIHYuZGVzY3JpcHRpb24oKSwgSlNWYWx1ZTo6ZW5jb2RlKHYpKTsKLSNlbHNlCi0gICAg
ICAgICAgICBkYXRhTG9nKCJbcGFyYW1dICAgICAgICAgICAgICAgICAgICB8ICUxMHAgfCAlLTE2
cyAlcCBcbiIsIGl0LCB2LmRlc2NyaXB0aW9uKCksIEpTVmFsdWU6OmVuY29kZSh2KSk7Ci0jZW5k
aWYKLSAgICAgICAgICAgICsraXQ7Ci0gICAgICAgIH0gd2hpbGUgKGl0ICE9IGVuZCk7CisgICAg
ICAgIGl0Kys7CiAgICAgfQorICAgIAogICAgIGRhdGFMb2coIi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
XG4iKTsKLSAgICBkYXRhTG9nKCJbQ29kZUJsb2NrXSAgICAgICAgICAgICAgICB8ICUxMHAgfCAl
cCBcbiIsIGl0LCAoKml0KS5jb2RlQmxvY2soKSk7ICsraXQ7Ci0gICAgZGF0YUxvZygiW1Njb3Bl
Q2hhaW5dICAgICAgICAgICAgICAgfCAlMTBwIHwgJXAgXG4iLCBpdCwgKCppdCkuc2NvcGVDaGFp
bigpKTsgKytpdDsKLSAgICBkYXRhTG9nKCJbQ2FsbGVyUmVnaXN0ZXJzXSAgICAgICAgICB8ICUx
MHAgfCAlZCBcbiIsIGl0LCAoKml0KS5pKCkpOyArK2l0OwotICAgIGRhdGFMb2coIltSZXR1cm5Q
Q10gICAgICAgICAgICAgICAgIHwgJTEwcCB8ICVwIFxuIiwgaXQsICgqaXQpLnZQQygpKTsgKytp
dDsKLSAgICBkYXRhTG9nKCJbQXJndW1lbnRDb3VudF0gICAgICAgICAgICB8ICUxMHAgfCAlZCBc
biIsIGl0LCAoKml0KS5pKCkpOyArK2l0OwotICAgIGRhdGFMb2coIltDYWxsZWVdICAgICAgICAg
ICAgICAgICAgIHwgJTEwcCB8ICVwIFxuIiwgaXQsICgqaXQpLmZ1bmN0aW9uKCkpOyArK2l0Owor
ICAgIGRhdGFMb2coIltBcmd1bWVudENvdW50XSAgICAgICAgICAgIHwgJTEwcCB8ICVsZCBcbiIs
IGl0LCBjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSk7CisgICAgKytpdDsKKyAgICBkYXRhTG9n
KCJbQ2FsbGVyRnJhbWVdICAgICAgICAgICAgICB8ICUxMHAgfCAlcCBcbiIsIGl0LCBjYWxsRnJh
bWUtPmNhbGxlckZyYW1lKCkpOworICAgICsraXQ7CisgICAgZGF0YUxvZygiW0NhbGxlZV0gICAg
ICAgICAgICAgICAgICAgfCAlMTBwIHwgJXAgXG4iLCBpdCwgY2FsbEZyYW1lLT5jYWxsZWUoKSk7
CisgICAgKytpdDsKKyAgICBkYXRhTG9nKCJbU2NvcGVDaGFpbl0gICAgICAgICAgICAgICB8ICUx
MHAgfCAlcCBcbiIsIGl0LCBjYWxsRnJhbWUtPnNjb3BlQ2hhaW4oKSk7CisgICAgKytpdDsKKyNp
ZiBFTkFCTEUoSklUKQorICAgIEFic3RyYWN0UEMgcGMgPSBjYWxsRnJhbWUtPmFic3RyYWN0UmV0
dXJuUEMoY2FsbEZyYW1lLT5nbG9iYWxEYXRhKCkpOworICAgIGlmIChwYy5oYXNKSVRSZXR1cm5B
ZGRyZXNzKCkpCisgICAgICAgIGRhdGFMb2coIltSZXR1cm5KSVRQQ10gICAgICAgICAgICAgIHwg
JTEwcCB8ICVwIFxuIiwgaXQsIHBjLmppdFJldHVybkFkZHJlc3MoKS52YWx1ZSgpKTsKKyNlbmRp
ZgorICAgIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0ID0gMDsKKyAgICBpbnQgbGluZSA9IDA7Cisg
ICAgZ2V0Q2FsbGVySW5mbygmY2FsbEZyYW1lLT5nbG9iYWxEYXRhKCksIGNhbGxGcmFtZSwgbGlu
ZSwgYnl0ZWNvZGVPZmZzZXQpOworICAgIGRhdGFMb2coIltSZXR1cm5WUENdICAgICAgICAgICAg
ICAgIHwgJTEwcCB8ICVkIChsaW5lICVkKVxuIiwgaXQsIGJ5dGVjb2RlT2Zmc2V0LCBsaW5lKTsK
KyAgICArK2l0OworICAgIGRhdGFMb2coIltDb2RlQmxvY2tdICAgICAgICAgICAgICAgIHwgJTEw
cCB8ICVwIFxuIiwgaXQsIGNhbGxGcmFtZS0+Y29kZUJsb2NrKCkpOworICAgICsraXQ7CiAgICAg
ZGF0YUxvZygiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOwogCiAgICAgaW50IHJlZ2lzdGVyQ291
bnQgPSAwOwpAQCAtNjU5LDExICs2NjksMTMgQEAgdm9pZCBJbnRlcnByZXRlcjo6ZHVtcFJlZ2lz
dGVycyhDYWxsRnJhbWUqIGNhbGxGcmFtZSkKICAgICBlbmQgPSBpdCArIGNvZGVCbG9jay0+bV9u
dW1WYXJzOwogICAgIGlmIChpdCAhPSBlbmQpIHsKICAgICAgICAgZG8gewotICAgICAgICAgICAg
diA9ICgqaXQpLmpzVmFsdWUoKTsKKyAgICAgICAgICAgIEpTVmFsdWUgdiA9IGl0LT5qc1ZhbHVl
KCk7CisgICAgICAgICAgICBpbnQgcmVnaXN0ZXJOdW1iZXIgPSBpdCAtIGNhbGxGcmFtZS0+cmVn
aXN0ZXJzKCk7CisgICAgICAgICAgICBVU3RyaW5nIG5hbWUgPSBjb2RlQmxvY2stPm5hbWVGb3JS
ZWdpc3RlcihyZWdpc3Rlck51bWJlcik7CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICAgICAg
ICAgIGRhdGFMb2coIltyJTJkXSAgICAgICAgICAgICAgICAgICAgICB8ICUxMHAgfCAlLTE2cyAw
eCVsbHggXG4iLCByZWdpc3RlckNvdW50LCBpdCwgdi5kZXNjcmlwdGlvbigpLCBKU1ZhbHVlOjpl
bmNvZGUodikpOworICAgICAgICAgICAgZGF0YUxvZygiW3IlIDNkICUxNHNdICAgICAgfCAlMTBw
IHwgJS0xNnMgMHglbGx4IFxuIiwgcmVnaXN0ZXJOdW1iZXIsIG5hbWUuYXNjaWkoKS5kYXRhKCks
IGl0LCB2LmRlc2NyaXB0aW9uKCksIEpTVmFsdWU6OmVuY29kZSh2KSk7CiAjZWxzZQotICAgICAg
ICAgICAgZGF0YUxvZygiW3IlMmRdICAgICAgICAgICAgICAgICAgICAgIHwgJTEwcCB8ICUtMTZz
ICVwIFxuIiwgcmVnaXN0ZXJDb3VudCwgaXQsIHYuZGVzY3JpcHRpb24oKSwgSlNWYWx1ZTo6ZW5j
b2RlKHYpKTsKKyAgICAgICAgICAgIGRhdGFMb2coIltyJSAzZCAlMTRzXSAgICAgIHwgJTEwcCB8
ICUtMTZzICVwIFxuIiwgcmVnaXN0ZXJOdW1iZXIsIG5hbWUuYXNjaWkoKS5kYXRhKCksIGl0LCB2
LmRlc2NyaXB0aW9uKCksIEpTVmFsdWU6OmVuY29kZSh2KSk7CiAjZW5kaWYKICAgICAgICAgICAg
ICsraXQ7CiAgICAgICAgICAgICArK3JlZ2lzdGVyQ291bnQ7CkBAIC02NzQsMTEgKzY4NiwxMSBA
QCB2b2lkIEludGVycHJldGVyOjpkdW1wUmVnaXN0ZXJzKENhbGxGcmFtZSogY2FsbEZyYW1lKQog
ICAgIGVuZCA9IGl0ICsgY29kZUJsb2NrLT5tX251bUNhbGxlZVJlZ2lzdGVycyAtIGNvZGVCbG9j
ay0+bV9udW1WYXJzOwogICAgIGlmIChpdCAhPSBlbmQpIHsKICAgICAgICAgZG8gewotICAgICAg
ICAgICAgdiA9ICgqaXQpLmpzVmFsdWUoKTsKKyAgICAgICAgICAgIEpTVmFsdWUgdiA9ICgqaXQp
LmpzVmFsdWUoKTsKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQotICAgICAgICAgICAgZGF0YUxvZygi
W3IlMmRdICAgICAgICAgICAgICAgICAgICAgIHwgJTEwcCB8ICUtMTZzIDB4JWxseCBcbiIsIHJl
Z2lzdGVyQ291bnQsIGl0LCB2LmRlc2NyaXB0aW9uKCksIEpTVmFsdWU6OmVuY29kZSh2KSk7Cisg
ICAgICAgICAgICBkYXRhTG9nKCJbciUgM2RdICAgICAgICAgICAgICAgICAgICAgfCAlMTBwIHwg
JS0xNnMgMHglbGx4IFxuIiwgcmVnaXN0ZXJDb3VudCwgaXQsIHYuZGVzY3JpcHRpb24oKSwgSlNW
YWx1ZTo6ZW5jb2RlKHYpKTsKICNlbHNlCi0gICAgICAgICAgICBkYXRhTG9nKCJbciUyZF0gICAg
ICAgICAgICAgICAgICAgICAgfCAlMTBwIHwgJS0xNnMgJXAgXG4iLCByZWdpc3RlckNvdW50LCBp
dCwgdi5kZXNjcmlwdGlvbigpLCBKU1ZhbHVlOjplbmNvZGUodikpOworICAgICAgICAgICAgZGF0
YUxvZygiW3IlIDNkXSAgICAgICAgICAgICAgICAgICAgIHwgJTEwcCB8ICUtMTZzICVwIFxuIiwg
cmVnaXN0ZXJDb3VudCwgaXQsIHYuZGVzY3JpcHRpb24oKSwgSlNWYWx1ZTo6ZW5jb2RlKHYpKTsK
ICNlbmRpZgogICAgICAgICAgICAgKytpdDsKICAgICAgICAgICAgICsrcmVnaXN0ZXJDb3VudDsK
QEAgLTgzOCwxMCArODUwLDEwIEBAIHN0YXRpYyBpbnQgZ2V0TGluZU51bWJlckZvckNhbGxGcmFt
ZShKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIENhbGxGcmFtZSogY2FsbEZyCiAjZW5kaWYKIH0K
IAotc3RhdGljIENhbGxGcmFtZSogZ2V0Q2FsbGVySW5mbyhKU0dsb2JhbERhdGEqIGdsb2JhbERh
dGEsIENhbGxGcmFtZSogY2FsbEZyYW1lLCBpbnQmIGxpbmVOdW1iZXIpCitzdGF0aWMgQ2FsbEZy
YW1lKiBnZXRDYWxsZXJJbmZvKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgQ2FsbEZyYW1lKiBj
YWxsRnJhbWUsIGludCYgbGluZU51bWJlciwgdW5zaWduZWQmIGJ5dGVjb2RlT2Zmc2V0KQogewog
ICAgIFVOVVNFRF9QQVJBTShnbG9iYWxEYXRhKTsKLSAgICB1bnNpZ25lZCBieXRlY29kZU9mZnNl
dCA9IDA7CisgICAgYnl0ZWNvZGVPZmZzZXQgPSAwOwogICAgIGxpbmVOdW1iZXIgPSAtMTsKICAg
ICBBU1NFUlQoIWNhbGxGcmFtZS0+aGFzSG9zdENhbGxGcmFtZUZsYWcoKSk7CiAgICAgQ2FsbEZy
YW1lKiBjYWxsZXJGcmFtZSA9IGNhbGxGcmFtZS0+Y29kZUJsb2NrKCkgPyBjYWxsRnJhbWUtPnRy
dWVDYWxsZXJGcmFtZSgpIDogY2FsbEZyYW1lLT5jYWxsZXJGcmFtZSgpLT5yZW1vdmVIb3N0Q2Fs
bEZyYW1lRmxhZygpOwpAQCAtOTczLDcgKzk4NSw4IEBAIHZvaWQgSW50ZXJwcmV0ZXI6OmdldFN0
YWNrVHJhY2UoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBWZWN0b3I8U3RhY2tGcmFtZT4mIHJl
CiAgICAgICAgICAgICBTdGFja0ZyYW1lIHMgPSB7IFN0cm9uZzxKU09iamVjdD4oKmdsb2JhbERh
dGEsIGNhbGxGcmFtZS0+Y2FsbGVlKCkpLCBTdGFja0ZyYW1lTmF0aXZlQ29kZSwgU3Ryb25nPEV4
ZWN1dGFibGVCYXNlPigpLCAtMSwgVVN0cmluZygpfTsKICAgICAgICAgICAgIHJlc3VsdHMuYXBw
ZW5kKHMpOwogICAgICAgICB9Ci0gICAgICAgIGNhbGxGcmFtZSA9IGdldENhbGxlckluZm8oZ2xv
YmFsRGF0YSwgY2FsbEZyYW1lLCBsaW5lKTsKKyAgICAgICAgdW5zaWduZWQgdW51c2VkQnl0ZWNv
ZGVPZmZzZXQgPSAwOworICAgICAgICBjYWxsRnJhbWUgPSBnZXRDYWxsZXJJbmZvKGdsb2JhbERh
dGEsIGNhbGxGcmFtZSwgbGluZSwgdW51c2VkQnl0ZWNvZGVPZmZzZXQpOwogICAgIH0KIH0KIApA
QCAtNTMzMCw3ICs1MzQzLDggQEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6cmV0cmlldmVDYWxsZXJG
cm9tVk1Db2RlKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKgogICAgICAgICByZXR1
cm4ganNOdWxsKCk7CiAgICAgCiAgICAgaW50IGxpbmVOdW1iZXI7Ci0gICAgQ2FsbEZyYW1lKiBj
YWxsZXJGcmFtZSA9IGdldENhbGxlckluZm8oJmNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLCBmdW5j
dGlvbkNhbGxGcmFtZSwgbGluZU51bWJlcik7CisgICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQ7
CisgICAgQ2FsbEZyYW1lKiBjYWxsZXJGcmFtZSA9IGdldENhbGxlckluZm8oJmNhbGxGcmFtZS0+
Z2xvYmFsRGF0YSgpLCBmdW5jdGlvbkNhbGxGcmFtZSwgbGluZU51bWJlciwgYnl0ZWNvZGVPZmZz
ZXQpOwogICAgIGlmICghY2FsbGVyRnJhbWUpCiAgICAgICAgIHJldHVybiBqc051bGwoKTsKICAg
ICBKU1ZhbHVlIGNhbGxlciA9IGNhbGxlckZyYW1lLT5jYWxsZWUoKTsKQEAgLTUzNDAsNyArNTM1
NCw3IEBAIEpTVmFsdWUgSW50ZXJwcmV0ZXI6OnJldHJpZXZlQ2FsbGVyRnJvbVZNQ29kZShDYWxs
RnJhbWUqIGNhbGxGcmFtZSwgSlNGdW5jdGlvbioKICAgICAvLyBTa2lwIG92ZXIgZnVuY3Rpb24g
YmluZGluZ3MuCiAgICAgQVNTRVJUKGNhbGxlci5pc09iamVjdCgpKTsKICAgICB3aGlsZSAoYXNP
YmplY3QoY2FsbGVyKS0+aW5oZXJpdHMoJkpTQm91bmRGdW5jdGlvbjo6c19pbmZvKSkgewotICAg
ICAgICBjYWxsZXJGcmFtZSA9IGdldENhbGxlckluZm8oJmNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgp
LCBjYWxsZXJGcmFtZSwgbGluZU51bWJlcik7CisgICAgICAgIGNhbGxlckZyYW1lID0gZ2V0Q2Fs
bGVySW5mbygmY2FsbEZyYW1lLT5nbG9iYWxEYXRhKCksIGNhbGxlckZyYW1lLCBsaW5lTnVtYmVy
LCBieXRlY29kZU9mZnNldCk7CiAgICAgICAgIGlmICghY2FsbGVyRnJhbWUpCiAgICAgICAgICAg
ICByZXR1cm4ganNOdWxsKCk7CiAgICAgICAgIGNhbGxlciA9IGNhbGxlckZyYW1lLT5jYWxsZWUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnBy
ZXRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgK
aW5kZXggYmEyZjRmYWM0Y2I0OTc1YzgzMTU4NGU4OWM0MjMzZWUyNTgxNmM4NS4uYjhkNWVlYjRi
MDNmNDI4YzE3MWIzYmM3MzM0ZjQ0ZDIwMjhkN2U1YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKQEAgLTI0OCw2ICsyNDgsMTEgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZHVtcFNhbXBsZURhdGEoRXhlY1N0YXRlKiBleGVj
KTsKICAgICAgICAgdm9pZCBzdGFydFNhbXBsaW5nKCk7CiAgICAgICAgIHZvaWQgc3RvcFNhbXBs
aW5nKCk7CisKKyNpZm5kZWYgTkRFQlVHCisgICAgICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQg
ZHVtcENhbGxGcmFtZShDYWxsRnJhbWUqKTsKKyNlbmRpZgorCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgZW51bSBFeGVjdXRpb25GbGFnIHsgTm9ybWFsLCBJbml0aWFsaXplQW5kUmV0dXJuIH07CiAK
QEAgLTI3OSw3ICsyODQsNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBKU1ZhbHVlIHBy
aXZhdGVFeGVjdXRlKEV4ZWN1dGlvbkZsYWcsIFJlZ2lzdGVyRmlsZSosIENhbGxGcmFtZSopOwog
Ci0gICAgICAgIHZvaWQgZHVtcENhbGxGcmFtZShDYWxsRnJhbWUqKTsKICAgICAgICAgdm9pZCBk
dW1wUmVnaXN0ZXJzKENhbGxGcmFtZSopOwogICAgICAgICAKICAgICAgICAgYm9vbCBpc0NhbGxC
eXRlY29kZShPcGNvZGUgb3Bjb2RlKSB7IHJldHVybiBvcGNvZGUgPT0gZ2V0T3Bjb2RlKG9wX2Nh
bGwpIHx8IG9wY29kZSA9PSBnZXRPcGNvZGUob3BfY29uc3RydWN0KSB8fCBvcGNvZGUgPT0gZ2V0
T3Bjb2RlKG9wX2NhbGxfZXZhbCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qc2MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKaW5kZXggNWYzZGJkYjk5
NjczYzhhYzE3ZmMzODA0NjM0YjA1ZTMwNTRiMjIwMi4uMDBhZDVkM2IyNGVlM2RjNDk3NjBjYTk4
M2JlODg4YmQzY2NkNDIwOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKQEAgLTg4LDYgKzg4LDcgQEAg
c3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25KU0NTdGFjayhFeGVj
U3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uR0Mo
RXhlY1N0YXRlKik7CiAjaWZuZGVmIE5ERUJVRwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgZnVuY3Rpb25SZWxlYXNlRXhlY3V0YWJsZU1lbW9yeShFeGVjU3RhdGUqKTsKK3N0
YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uRHVtcENhbGxGcmFtZShF
eGVjU3RhdGUqKTsKICNlbmRpZgogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZnVuY3Rpb25WZXJzaW9uKEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgZnVuY3Rpb25SdW4oRXhlY1N0YXRlKik7CkBAIC0xOTQsNiArMTk1LDcgQEAgcHJv
dGVjdGVkOgogICAgICAgICBhZGRGdW5jdGlvbihnbG9iYWxEYXRhLCAicXVpdCIsIGZ1bmN0aW9u
UXVpdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKGdsb2JhbERhdGEsICJnYyIsIGZ1bmN0aW9u
R0MsIDApOwogI2lmbmRlZiBOREVCVUcKKyAgICAgICAgYWRkRnVuY3Rpb24oZ2xvYmFsRGF0YSwg
ImR1bXBDYWxsRnJhbWUiLCBmdW5jdGlvbkR1bXBDYWxsRnJhbWUsIDApOwogICAgICAgICBhZGRG
dW5jdGlvbihnbG9iYWxEYXRhLCAicmVsZWFzZUV4ZWN1dGFibGVNZW1vcnkiLCBmdW5jdGlvblJl
bGVhc2VFeGVjdXRhYmxlTWVtb3J5LCAwKTsKICNlbmRpZgogICAgICAgICBhZGRGdW5jdGlvbihn
bG9iYWxEYXRhLCAidmVyc2lvbiIsIGZ1bmN0aW9uVmVyc2lvbiwgMSk7CkBAIC0yODEsNiArMjgz
LDE1IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25QcmludChFeGVjU3Rh
dGUqIGV4ZWMpCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIH0K
IAorI2lmbmRlZiBOREVCVUcKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25E
dW1wQ2FsbEZyYW1lKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBpZiAoIWV4ZWMtPmNhbGxlckZy
YW1lKCktPmhhc0hvc3RDYWxsRnJhbWVGbGFnKCkpCisgICAgICAgIGV4ZWMtPmdsb2JhbERhdGEo
KS5pbnRlcnByZXRlci0+ZHVtcENhbGxGcmFtZShleGVjLT5jYWxsZXJGcmFtZSgpKTsKKyAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworfQorI2VuZGlmCisKIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25EZWJ1ZyhFeGVjU3RhdGUqIGV4ZWMpCiB7
CiAgICAgZnByaW50ZihzdGRlcnIsICItLT4gJXNcbiIsIGV4ZWMtPmFyZ3VtZW50KDApLnRvU3Ry
aW5nKGV4ZWMpLT52YWx1ZShleGVjKS51dGY4KCkuZGF0YSgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152664</attachid>
            <date>2012-07-16 18:05:13 -0700</date>
            <delta_ts>2012-07-16 18:11:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91444-20120716180512.patch</filename>
            <type>text/plain</type>
            <size>17851</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNzUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
ZjMzMjViNzc5ZmFmOTQ1NWNmYzU2ZjNjMTMxODdmNjk0YmQ3YzRkLi5jODYxMTYzZGY4ZTYyN2Iz
Zjc5NDlhZTc5Y2M3YWVkNWI2YTY3Mzc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MCBAQAorMjAxMi0wNy0xNiAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIGR1bXBDYWxsRnJhbWUgaXMgYnJva2VuIGluIFRvVAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE0NDQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBWYXJpb3VzIGNoYW5nZXMgaGF2ZSBiZWVu
IG1hZGUgdG8gdGhlIFNGIGNhbGxpbmcgY29udmVudGlvbiwgYnV0CisgICAgICAgIGR1bXBDYWxs
RnJhbWUgaGFzIG5vdCBiZWVuIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGVzZSBjaGFuZ2VzLgorICAg
ICAgICBUaGF0IHJlc3VsdGVkIGluIGJvdGggYm9ndXMgaW5mb3JtYXRpb24sIGFzIHdlbGwgYXMg
bnVtZXJvdXMKKyAgICAgICAgYXNzZXJ0aW9ucyBvZiBzYWRuZXNzLgorCisgICAgICAgIFRoaXMg
cGF0Y2ggbWFrZXMgZHVtcENhbGxGcmFtZSBhY3R1YWxseSB3b3JrIGFnYWluIGFuZCBhZGRzIHRo
ZQorICAgICAgICB3b25kZXJmdWwgZmVhdHVyZSBvZiB0ZWxsaW5nIHlvdSB0aGUgbmFtZSBvZiB0
aGUgdmFyaWFibGUgdGhhdCBhCisgICAgICAgIHJlZ2lzdGVyIHJlZmxlY3RzLCBvciB3aGF0IHZh
bHVlIGl0IGNvbnRhaW5zLgorCisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAg
ICAgICAgKEpTQzo6Q29kZUJsb2NrOjpuYW1lRm9yUmVnaXN0ZXIpOgorICAgICAgICAgICAgQSBy
ZWFsbHkgaW5uZWZmaWNpZW50IG1lY2hhbmlzbSBmb3IgZmluZGluZyB0aGUgbmFtZSBvZiBhIGxv
Y2FsIHJlZ2lzdGVyLgorICAgICAgICAgICAgVGhpcyBzaG91bGQgb25seSBldmVyIGJlIHVzZWQg
YnkgZGVidWcgY29kZSBzbyB0aGlzIHNob3VsZCBiZSBva2F5LgorICAgICAgICAqIGJ5dGVjb2Rl
L0NvZGVCbG9jay5oOgorICAgICAgICAoQ29kZUJsb2NrKToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRv
cjo6Z2VuZXJhdGUpOgorICAgICAgICAgICAgRGVidWcgYnVpbGRzIG5vIGxvbmdlciB0aHJvdyBh
d2F5IGEgZnVuY3Rpb25zIHN5bWJvbCB0YWJsZSwgdGhpcyBhbGxvd3MKKyAgICAgICAgICAgIHVz
IHRvIGFjdHVhbGx5IHBlcmZvcm0gYSByZWdpc3RlciMgdG8gbmFtZSBtYXBwaW5nCisgICAgICAg
ICogZGZnL0RGR0pJVENvbXBpbGVyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb21waWxl
cjo6bGluayk6CisgICAgICAgICAgICBXZSB3ZXJlbid0IHByb3BvZ2F0aW5nIHRoZSBieXRlY29k
ZSBvZmZzZXQgaGVyZSBsZWFkaW5nIHRvIGFzc2VydGlvbnMKKyAgICAgICAgICAgIGluIGRlYnVn
IGJ1aWxkcyB3aGVuIGR1bXBpbmcgYnl0ZWNvZGUgb2YgREZHIGNvbXBpbGVkIGNvZGUuCisgICAg
ICAgICogaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAg
ICAgKEpTQzo6SW50ZXJwcmV0ZXI6OmR1bXBSZWdpc3RlcnMpOgorICAgICAgICAgICAgIFJld29y
ayB0byBhY3R1YWxseSBiZSBjb3JyZWN0LgorICAgICAgICAoSlNDOjpnZXRDYWxsZXJJbmZvKToK
KyAgICAgICAgICAgICBSZXR1cm4gdGhlIGJ5dGVvY2RlIG9mZnNldCBhcyB3ZWxsIG5vdywgZ2l2
ZW4gd2UgaGF2ZSB0byBkZXRlcm1pbmUgaXQKKyAgICAgICAgICAgICBhbnl3YXkuCisgICAgICAg
IChKU0M6OkludGVycHJldGVyOjpnZXRTdGFja1RyYWNlKToKKyAgICAgICAgKEpTQzo6SW50ZXJw
cmV0ZXI6OnJldHJpZXZlQ2FsbGVyRnJvbVZNQ29kZSk6CisgICAgICAgICogaW50ZXJwcmV0ZXIv
SW50ZXJwcmV0ZXIuaDoKKyAgICAgICAgKEludGVycHJldGVyKToKKyAgICAgICAgKiBqc2MuY3Bw
OgorICAgICAgICAoR2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChmdW5j
dGlvbkR1bXBDYWxsRnJhbWUpOgorICAgICAgICAgICAgIEdpdmUgZGVidWcgYnVpbGRzIG9mIEpT
QyBhIG1ldGhvZCBmb3IgY2FsbGluZyBkdW1wQ2FsbEZyYW1lIHNvIHdlIGNhbgorICAgICAgICAg
ICAgIGluc3BlY3QgYSBjYWxsZnJhbWUgd2l0aG91dCByZXF1aXJpbmcgdXMgdG8gYnJlYWsgaW4g
YSBkZWJ1Z2dlci4KKwogMjAxMi0wNy0xNiAgR2Fib3IgUmFwY3NhbnlpICA8cmdhYm9yQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZGZpeCBhZnRlciByMTIyNzI5LiBUeXBv
IGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS5kZWYKaW5kZXggZGZhMzhhYWZiNTM5MjJmZGIwZDgyMGI2MzVkZGMyYjIwMzlkOGRiYS4uZDhm
ODM4ZTg3MDlkOTI1MTY1YmQ4NjMwOTZhYzY2NjZhNDkyNDMzNyAxMDA3NTUKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5kZWYKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKQEAgLTE2Myw2ICsxNjMs
NyBAQCBFWFBPUlRTCiAgICAgP2Rpc3BsYXlOYW1lQEpTRnVuY3Rpb25ASlNDQEBRQUU/QlZVU3Ry
aW5nQDJAUEFWRXhlY1N0YXRlQDJAQFoKICAgICA/ZHRvYUBXVEZAQFlBWFFBRE5BQV9OQUFIQUFJ
QFoKICAgICA/ZHVtcEFsbE9wdGlvbnNAT3B0aW9uc0BKU0NAQFNBWFBBVV9pb2J1ZkBAQFoKKyAg
ICA/ZHVtcENhbGxGcmFtZUBJbnRlcnByZXRlckBKU0NAQFFBRVhQQVZFeGVjU3RhdGVAMkBAWgog
ICAgID9kdW1wU2FtcGxlRGF0YUBKU0dsb2JhbERhdGFASlNDQEBRQUVYUEFWRXhlY1N0YXRlQDJA
QFoKICAgICA/ZW1wdHlAU3RyaW5nSW1wbEBXVEZAQFNBUEFWMTJAWFoKICAgICA/ZW51bWVyYWJs
ZUBQcm9wZXJ0eURlc2NyaXB0b3JASlNDQEBRQkVfTlhaCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4IGQ0MTdhNWZiZDMwNjJkYzM4ODU2OTA3ZjY1
YWRhMGMxYTIzOGNkOTQuLjM2M2VmYTI4YThhODRhMjRkZTZkOGVmMWQ3M2FiOTRmYWYyODU4YmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC0y
OTQyLDQgKzI5NDIsMjkgQEAgYm9vbCBDb2RlQmxvY2s6OnVzZXNPcGNvZGUoT3Bjb2RlSUQgb3Bj
b2RlSUQpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitVU3RyaW5nIENvZGVCbG9jazo6bmFtZUZv
clJlZ2lzdGVyKGludCByZWdpc3Rlck51bWJlcikKK3sKKyAgICBTeW1ib2xUYWJsZTo6aXRlcmF0
b3IgZW5kID0gbV9zeW1ib2xUYWJsZS0+ZW5kKCk7CisgICAgZm9yIChTeW1ib2xUYWJsZTo6aXRl
cmF0b3IgcHRyID0gbV9zeW1ib2xUYWJsZS0+YmVnaW4oKTsgcHRyICE9IGVuZDsgKytwdHIpIHsK
KyAgICAgICAgaWYgKHB0ci0+c2Vjb25kLmdldEluZGV4KCkgPT0gcmVnaXN0ZXJOdW1iZXIpCisg
ICAgICAgICAgICByZXR1cm4gVVN0cmluZyhwdHItPmZpcnN0KTsKKyAgICB9CisgICAgaWYgKG5l
ZWRzQWN0aXZhdGlvbigpICYmIHJlZ2lzdGVyTnVtYmVyID09IGFjdGl2YXRpb25SZWdpc3Rlcigp
KQorICAgICAgICByZXR1cm4gImFjdGl2YXRpb24iOworICAgIGlmIChyZWdpc3Rlck51bWJlciA9
PSB0aGlzUmVnaXN0ZXIoKSkKKyAgICAgICAgcmV0dXJuICJ0aGlzIjsKKyAgICBpZiAodXNlc0Fy
Z3VtZW50cygpKSB7CisgICAgICAgIGlmIChyZWdpc3Rlck51bWJlciA9PSBhcmd1bWVudHNSZWdp
c3RlcigpKQorICAgICAgICAgICAgcmV0dXJuICJhcmd1bWVudHMiOworICAgICAgICBpZiAodW5t
b2RpZmllZEFyZ3VtZW50c1JlZ2lzdGVyKGFyZ3VtZW50c1JlZ2lzdGVyKCkpID09IHJlZ2lzdGVy
TnVtYmVyKQorICAgICAgICAgICAgcmV0dXJuICJyZWFsIGFyZ3VtZW50cyI7CisgICAgfQorICAg
IGlmIChyZWdpc3Rlck51bWJlciA8IDApIHsKKyAgICAgICAgaW50IGFyZ3VtZW50UG9zaXRpb24g
PSAtcmVnaXN0ZXJOdW1iZXI7CisgICAgICAgIGFyZ3VtZW50UG9zaXRpb24gLT0gUmVnaXN0ZXJG
aWxlOjpDYWxsRnJhbWVIZWFkZXJTaXplICsgMTsKKyAgICAgICAgcmV0dXJuIFN0cmluZzo6Zm9y
bWF0KCJhcmd1bWVudHNbJTNkXSIsIGFyZ3VtZW50UG9zaXRpb24gLSAxKS5pbXBsKCk7CisgICAg
fQorICAgIHJldHVybiAiIjsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKaW5kZXggNTZlZGU1OTVhYWY5MWIwZTM0MzIw
YzljZTQ3YzZhZTdhYTFiOTMxZi4uMmE3ZDIxMjBhNDI0MDIxNjE4OTBjYmRiZTVlYTNhNTE5ZTM4
NWVhYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9j
ay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaApAQCAt
NTc4LDcgKzU3OCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGNyZWF0ZUFjdGl2
YXRpb24oQ2FsbEZyYW1lKik7CiAKICAgICAgICAgdm9pZCBjbGVhckV2YWxDYWNoZSgpOwotCisg
ICAgICAgIAorICAgICAgICBVU3RyaW5nIG5hbWVGb3JSZWdpc3RlcihpbnQgcmVnaXN0ZXJOdW1i
ZXIpOworICAgICAgICAKICAgICAgICAgdm9pZCBhZGRQcm9wZXJ0eUFjY2Vzc0luc3RydWN0aW9u
KHVuc2lnbmVkIHByb3BlcnR5QWNjZXNzSW5zdHJ1Y3Rpb24pCiAgICAgICAgIHsKICAgICAgICAg
ICAgIG1fcHJvcGVydHlBY2Nlc3NJbnN0cnVjdGlvbnMuYXBwZW5kKHByb3BlcnR5QWNjZXNzSW5z
dHJ1Y3Rpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRleCBiMTA0Nzg4Yzg0OTkxMDMyOTVmMDY0N2I1
ODk5ZjgyNTk0N2FhZTZjLi4zM2YyODJjNjY0NjU2MDk0MzM5YTRmNjY2MzU0YTExZDhiNjIyNzc2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAtMTkzLDggKzE5MywxMCBAQCBKU09iamVjdCogQnl0ZWNv
ZGVHZW5lcmF0b3I6OmdlbmVyYXRlKCkKICAgICBpZiAoc19kdW1wc0dlbmVyYXRlZENvZGUpCiAg
ICAgICAgIG1fY29kZUJsb2NrLT5kdW1wKG1fc2NvcGVDaGFpbi0+Z2xvYmFsT2JqZWN0LT5nbG9i
YWxFeGVjKCkpOwogCisjaWZkZWYgTkRFQlVHCiAgICAgaWYgKChtX2NvZGVUeXBlID09IEZ1bmN0
aW9uQ29kZSAmJiAhbV9jb2RlQmxvY2stPm5lZWRzRnVsbFNjb3BlQ2hhaW4oKSAmJiAhbV9jb2Rl
QmxvY2stPnVzZXNBcmd1bWVudHMoKSkgfHwgbV9jb2RlVHlwZSA9PSBFdmFsQ29kZSkKICAgICAg
ICAgc3ltYm9sVGFibGUoKS5jbGVhcigpOworI2VuZGlmCiAKICAgICBtX2NvZGVCbG9jay0+c2hy
aW5rVG9GaXQoQ29kZUJsb2NrOjpFYXJseVNocmluayk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdKSVRDb21waWxlci5jcHAKaW5kZXggMmViZWUxM2MxMjAzM2Q0ZDIwMGI5ZDI4
N2EyNjkyM2U3YTkyOGE4OC4uMjFlNDQ2MGJlMzZlNzFlY2Y2OWVhZGM4NTM2NWJmYWRhMjNkM2U4
YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5jcHAKQEAg
LTE4OCw2ICsxODgsNyBAQCB2b2lkIEpJVENvbXBpbGVyOjpsaW5rKExpbmtCdWZmZXImIGxpbmtC
dWZmZXIpCiAgICAgICAgIENhbGxMaW5rSW5mbyYgaW5mbyA9IG1fY29kZUJsb2NrLT5jYWxsTGlu
a0luZm8oaSk7CiAgICAgICAgIGluZm8uY2FsbFR5cGUgPSBtX2pzQ2FsbHNbaV0ubV9jYWxsVHlw
ZTsKICAgICAgICAgaW5mby5pc0RGRyA9IHRydWU7CisgICAgICAgIGluZm8uYnl0ZWNvZGVJbmRl
eCA9IG1fanNDYWxsc1tpXS5tX2NvZGVPcmlnaW4uYnl0ZWNvZGVJbmRleDsKICAgICAgICAgbGlu
a0J1ZmZlci5saW5rKG1fanNDYWxsc1tpXS5tX3Nsb3dDYWxsLCBGdW5jdGlvblB0cigobV9nbG9i
YWxEYXRhLT5nZXRDVElTdHViKGluZm8uY2FsbFR5cGUgPT0gQ2FsbExpbmtJbmZvOjpDb25zdHJ1
Y3QgPyBsaW5rQ29uc3RydWN0VGh1bmtHZW5lcmF0b3IgOiBsaW5rQ2FsbFRodW5rR2VuZXJhdG9y
KSkuY29kZSgpLmV4ZWN1dGFibGVBZGRyZXNzKCkpKTsKICAgICAgICAgaW5mby5jYWxsUmV0dXJu
TG9jYXRpb24gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2ZOZWFyQ2FsbChtX2pzQ2FsbHNbaV0ubV9z
bG93Q2FsbCk7CiAgICAgICAgIGluZm8uaG90UGF0aEJlZ2luID0gbGlua0J1ZmZlci5sb2NhdGlv
bk9mKG1fanNDYWxsc1tpXS5tX3RhcmdldFRvQ2hlY2spOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKaW5kZXggYjYwNzJhNWQ2Y2E4ZDlj
MWEzODU0MTc5ZTc0YjRmYjA4ZGQyMjRhOC4uZmQyYjljYTYxYjIzY2U4Y2QxMjNhYWU0MGI1Zjg4
NTcxOGJiMDNkMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
SW50ZXJwcmV0ZXIuY3BwCkBAIC03Nyw2ICs3Nyw4IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAK
IG5hbWVzcGFjZSBKU0MgewogCitzdGF0aWMgQ2FsbEZyYW1lKiBnZXRDYWxsZXJJbmZvKEpTR2xv
YmFsRGF0YSosIENhbGxGcmFtZSosIGludCYgbGluZU51bWJlciwgdW5zaWduZWQmIGJ5dGVjb2Rl
T2Zmc2V0KTsKKwogLy8gUmV0dXJucyB0aGUgZGVwdGggb2YgdGhlIHNjb3BlIGNoYWluIHdpdGhp
biBhIGdpdmVuIGNhbGwgZnJhbWUuCiBzdGF0aWMgaW50IGRlcHRoKENvZGVCbG9jayogY29kZUJs
b2NrLCBTY29wZUNoYWluTm9kZSogc2MpCiB7CkBAIC02MjQsMzQgKzYyNiw0MiBAQCB2b2lkIElu
dGVycHJldGVyOjpkdW1wUmVnaXN0ZXJzKENhbGxGcmFtZSogY2FsbEZyYW1lKQogICAgIENvZGVC
bG9jayogY29kZUJsb2NrID0gY2FsbEZyYW1lLT5jb2RlQmxvY2soKTsKICAgICBjb25zdCBSZWdp
c3RlciogaXQ7CiAgICAgY29uc3QgUmVnaXN0ZXIqIGVuZDsKLSAgICBKU1ZhbHVlIHY7CiAKLSAg
ICBpdCA9IGNhbGxGcmFtZS0+cmVnaXN0ZXJzKCkgLSBSZWdpc3RlckZpbGU6OkNhbGxGcmFtZUhl
YWRlclNpemUgLSBjb2RlQmxvY2stPm51bVBhcmFtZXRlcnMoKTsKLSAgICB2ID0gKCppdCkuanNW
YWx1ZSgpOworICAgIGl0ID0gY2FsbEZyYW1lLT5yZWdpc3RlcnMoKSAtIFJlZ2lzdGVyRmlsZTo6
Q2FsbEZyYW1lSGVhZGVyU2l6ZSAtIGNhbGxGcmFtZS0+YXJndW1lbnRDb3VudEluY2x1ZGluZ1Ro
aXMoKTsKKyAgICBlbmQgPSBjYWxsRnJhbWUtPnJlZ2lzdGVycygpIC0gUmVnaXN0ZXJGaWxlOjpD
YWxsRnJhbWVIZWFkZXJTaXplOworICAgIHdoaWxlIChpdCA8IGVuZCkgeworICAgICAgICBKU1Zh
bHVlIHYgPSBpdC0+anNWYWx1ZSgpOworICAgICAgICBpbnQgcmVnaXN0ZXJOdW1iZXIgPSBpdCAt
IGNhbGxGcmFtZS0+cmVnaXN0ZXJzKCk7CisgICAgICAgIFVTdHJpbmcgbmFtZSA9IGNvZGVCbG9j
ay0+bmFtZUZvclJlZ2lzdGVyKHJlZ2lzdGVyTnVtYmVyKTsKICNpZiBVU0UoSlNWQUxVRTMyXzY0
KQotICAgIGRhdGFMb2coIlt0aGlzXSAgICAgICAgICAgICAgICAgICAgIHwgJTEwcCB8ICUtMTZz
IDB4JWxseCBcbiIsIGl0LCB2LmRlc2NyaXB0aW9uKCksIEpTVmFsdWU6OmVuY29kZSh2KSk7ICsr
aXQ7CisgICAgICAgIGRhdGFMb2coIltyJSAzZCAlMTRzXSAgICAgIHwgJTEwcCB8ICUtMTZzIDB4
JWxseCBcbiIsIHJlZ2lzdGVyTnVtYmVyLCBuYW1lLmFzY2lpKCkuZGF0YSgpLCBpdCwgdi5kZXNj
cmlwdGlvbigpLCBKU1ZhbHVlOjplbmNvZGUodikpOwogI2Vsc2UKLSAgICBkYXRhTG9nKCJbdGhp
c10gICAgICAgICAgICAgICAgICAgICB8ICUxMHAgfCAlLTE2cyAlcCBcbiIsIGl0LCB2LmRlc2Ny
aXB0aW9uKCksIEpTVmFsdWU6OmVuY29kZSh2KSk7ICsraXQ7CisgICAgICAgIGRhdGFMb2coIlty
JSAzZCAlMTRzXSAgICAgIHwgJTEwcCB8ICUtMTZzICVwIFxuIiwgcmVnaXN0ZXJOdW1iZXIsIG5h
bWUuYXNjaWkoKS5kYXRhKCksIGl0LCB2LmRlc2NyaXB0aW9uKCksIEpTVmFsdWU6OmVuY29kZSh2
KSk7CiAjZW5kaWYKLSAgICBlbmQgPSBpdCArIG1heChjb2RlQmxvY2stPm51bVBhcmFtZXRlcnMo
KSAtIDEsIDApOyAvLyAtIDEgdG8gc2tpcCAidGhpcyIKLSAgICBpZiAoaXQgIT0gZW5kKSB7Ci0g
ICAgICAgIGRvIHsKLSAgICAgICAgICAgIHYgPSAoKml0KS5qc1ZhbHVlKCk7Ci0jaWYgVVNFKEpT
VkFMVUUzMl82NCkKLSAgICAgICAgICAgIGRhdGFMb2coIltwYXJhbV0gICAgICAgICAgICAgICAg
ICAgIHwgJTEwcCB8ICUtMTZzIDB4JWxseCBcbiIsIGl0LCB2LmRlc2NyaXB0aW9uKCksIEpTVmFs
dWU6OmVuY29kZSh2KSk7Ci0jZWxzZQotICAgICAgICAgICAgZGF0YUxvZygiW3BhcmFtXSAgICAg
ICAgICAgICAgICAgICAgfCAlMTBwIHwgJS0xNnMgJXAgXG4iLCBpdCwgdi5kZXNjcmlwdGlvbigp
LCBKU1ZhbHVlOjplbmNvZGUodikpOwotI2VuZGlmCi0gICAgICAgICAgICArK2l0OwotICAgICAg
ICB9IHdoaWxlIChpdCAhPSBlbmQpOworICAgICAgICBpdCsrOwogICAgIH0KKyAgICAKICAgICBk
YXRhTG9nKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7Ci0gICAgZGF0YUxvZygiW0NvZGVCbG9j
a10gICAgICAgICAgICAgICAgfCAlMTBwIHwgJXAgXG4iLCBpdCwgKCppdCkuY29kZUJsb2NrKCkp
OyArK2l0OwotICAgIGRhdGFMb2coIltTY29wZUNoYWluXSAgICAgICAgICAgICAgIHwgJTEwcCB8
ICVwIFxuIiwgaXQsICgqaXQpLnNjb3BlQ2hhaW4oKSk7ICsraXQ7Ci0gICAgZGF0YUxvZygiW0Nh
bGxlclJlZ2lzdGVyc10gICAgICAgICAgfCAlMTBwIHwgJWQgXG4iLCBpdCwgKCppdCkuaSgpKTsg
KytpdDsKLSAgICBkYXRhTG9nKCJbUmV0dXJuUENdICAgICAgICAgICAgICAgICB8ICUxMHAgfCAl
cCBcbiIsIGl0LCAoKml0KS52UEMoKSk7ICsraXQ7Ci0gICAgZGF0YUxvZygiW0FyZ3VtZW50Q291
bnRdICAgICAgICAgICAgfCAlMTBwIHwgJWQgXG4iLCBpdCwgKCppdCkuaSgpKTsgKytpdDsKLSAg
ICBkYXRhTG9nKCJbQ2FsbGVlXSAgICAgICAgICAgICAgICAgICB8ICUxMHAgfCAlcCBcbiIsIGl0
LCAoKml0KS5mdW5jdGlvbigpKTsgKytpdDsKKyAgICBkYXRhTG9nKCJbQXJndW1lbnRDb3VudF0g
ICAgICAgICAgICB8ICUxMHAgfCAlbGQgXG4iLCBpdCwgY2FsbEZyYW1lLT5hcmd1bWVudENvdW50
KCkpOworICAgICsraXQ7CisgICAgZGF0YUxvZygiW0NhbGxlckZyYW1lXSAgICAgICAgICAgICAg
fCAlMTBwIHwgJXAgXG4iLCBpdCwgY2FsbEZyYW1lLT5jYWxsZXJGcmFtZSgpKTsKKyAgICArK2l0
OworICAgIGRhdGFMb2coIltDYWxsZWVdICAgICAgICAgICAgICAgICAgIHwgJTEwcCB8ICVwIFxu
IiwgaXQsIGNhbGxGcmFtZS0+Y2FsbGVlKCkpOworICAgICsraXQ7CisgICAgZGF0YUxvZygiW1Nj
b3BlQ2hhaW5dICAgICAgICAgICAgICAgfCAlMTBwIHwgJXAgXG4iLCBpdCwgY2FsbEZyYW1lLT5z
Y29wZUNoYWluKCkpOworICAgICsraXQ7CisjaWYgRU5BQkxFKEpJVCkKKyAgICBBYnN0cmFjdFBD
IHBjID0gY2FsbEZyYW1lLT5hYnN0cmFjdFJldHVyblBDKGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgp
KTsKKyAgICBpZiAocGMuaGFzSklUUmV0dXJuQWRkcmVzcygpKQorICAgICAgICBkYXRhTG9nKCJb
UmV0dXJuSklUUENdICAgICAgICAgICAgICB8ICUxMHAgfCAlcCBcbiIsIGl0LCBwYy5qaXRSZXR1
cm5BZGRyZXNzKCkudmFsdWUoKSk7CisjZW5kaWYKKyAgICB1bnNpZ25lZCBieXRlY29kZU9mZnNl
dCA9IDA7CisgICAgaW50IGxpbmUgPSAwOworICAgIGdldENhbGxlckluZm8oJmNhbGxGcmFtZS0+
Z2xvYmFsRGF0YSgpLCBjYWxsRnJhbWUsIGxpbmUsIGJ5dGVjb2RlT2Zmc2V0KTsKKyAgICBkYXRh
TG9nKCJbUmV0dXJuVlBDXSAgICAgICAgICAgICAgICB8ICUxMHAgfCAlZCAobGluZSAlZClcbiIs
IGl0LCBieXRlY29kZU9mZnNldCwgbGluZSk7CisgICAgKytpdDsKKyAgICBkYXRhTG9nKCJbQ29k
ZUJsb2NrXSAgICAgICAgICAgICAgICB8ICUxMHAgfCAlcCBcbiIsIGl0LCBjYWxsRnJhbWUtPmNv
ZGVCbG9jaygpKTsKKyAgICArK2l0OwogICAgIGRhdGFMb2coIi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
XG4iKTsKIAogICAgIGludCByZWdpc3RlckNvdW50ID0gMDsKQEAgLTY1OSwxMSArNjY5LDEzIEBA
IHZvaWQgSW50ZXJwcmV0ZXI6OmR1bXBSZWdpc3RlcnMoQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCiAg
ICAgZW5kID0gaXQgKyBjb2RlQmxvY2stPm1fbnVtVmFyczsKICAgICBpZiAoaXQgIT0gZW5kKSB7
CiAgICAgICAgIGRvIHsKLSAgICAgICAgICAgIHYgPSAoKml0KS5qc1ZhbHVlKCk7CisgICAgICAg
ICAgICBKU1ZhbHVlIHYgPSBpdC0+anNWYWx1ZSgpOworICAgICAgICAgICAgaW50IHJlZ2lzdGVy
TnVtYmVyID0gaXQgLSBjYWxsRnJhbWUtPnJlZ2lzdGVycygpOworICAgICAgICAgICAgVVN0cmlu
ZyBuYW1lID0gY29kZUJsb2NrLT5uYW1lRm9yUmVnaXN0ZXIocmVnaXN0ZXJOdW1iZXIpOwogI2lm
IFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgICAgICAgICBkYXRhTG9nKCJbciUyZF0gICAgICAgICAg
ICAgICAgICAgICAgfCAlMTBwIHwgJS0xNnMgMHglbGx4IFxuIiwgcmVnaXN0ZXJDb3VudCwgaXQs
IHYuZGVzY3JpcHRpb24oKSwgSlNWYWx1ZTo6ZW5jb2RlKHYpKTsKKyAgICAgICAgICAgIGRhdGFM
b2coIltyJSAzZCAlMTRzXSAgICAgIHwgJTEwcCB8ICUtMTZzIDB4JWxseCBcbiIsIHJlZ2lzdGVy
TnVtYmVyLCBuYW1lLmFzY2lpKCkuZGF0YSgpLCBpdCwgdi5kZXNjcmlwdGlvbigpLCBKU1ZhbHVl
OjplbmNvZGUodikpOwogI2Vsc2UKLSAgICAgICAgICAgIGRhdGFMb2coIltyJTJkXSAgICAgICAg
ICAgICAgICAgICAgICB8ICUxMHAgfCAlLTE2cyAlcCBcbiIsIHJlZ2lzdGVyQ291bnQsIGl0LCB2
LmRlc2NyaXB0aW9uKCksIEpTVmFsdWU6OmVuY29kZSh2KSk7CisgICAgICAgICAgICBkYXRhTG9n
KCJbciUgM2QgJTE0c10gICAgICB8ICUxMHAgfCAlLTE2cyAlcCBcbiIsIHJlZ2lzdGVyTnVtYmVy
LCBuYW1lLmFzY2lpKCkuZGF0YSgpLCBpdCwgdi5kZXNjcmlwdGlvbigpLCBKU1ZhbHVlOjplbmNv
ZGUodikpOwogI2VuZGlmCiAgICAgICAgICAgICArK2l0OwogICAgICAgICAgICAgKytyZWdpc3Rl
ckNvdW50OwpAQCAtNjc0LDExICs2ODYsMTEgQEAgdm9pZCBJbnRlcnByZXRlcjo6ZHVtcFJlZ2lz
dGVycyhDYWxsRnJhbWUqIGNhbGxGcmFtZSkKICAgICBlbmQgPSBpdCArIGNvZGVCbG9jay0+bV9u
dW1DYWxsZWVSZWdpc3RlcnMgLSBjb2RlQmxvY2stPm1fbnVtVmFyczsKICAgICBpZiAoaXQgIT0g
ZW5kKSB7CiAgICAgICAgIGRvIHsKLSAgICAgICAgICAgIHYgPSAoKml0KS5qc1ZhbHVlKCk7Cisg
ICAgICAgICAgICBKU1ZhbHVlIHYgPSAoKml0KS5qc1ZhbHVlKCk7CiAjaWYgVVNFKEpTVkFMVUUz
Ml82NCkKLSAgICAgICAgICAgIGRhdGFMb2coIltyJTJkXSAgICAgICAgICAgICAgICAgICAgICB8
ICUxMHAgfCAlLTE2cyAweCVsbHggXG4iLCByZWdpc3RlckNvdW50LCBpdCwgdi5kZXNjcmlwdGlv
bigpLCBKU1ZhbHVlOjplbmNvZGUodikpOworICAgICAgICAgICAgZGF0YUxvZygiW3IlIDNkXSAg
ICAgICAgICAgICAgICAgICAgIHwgJTEwcCB8ICUtMTZzIDB4JWxseCBcbiIsIHJlZ2lzdGVyQ291
bnQsIGl0LCB2LmRlc2NyaXB0aW9uKCksIEpTVmFsdWU6OmVuY29kZSh2KSk7CiAjZWxzZQotICAg
ICAgICAgICAgZGF0YUxvZygiW3IlMmRdICAgICAgICAgICAgICAgICAgICAgIHwgJTEwcCB8ICUt
MTZzICVwIFxuIiwgcmVnaXN0ZXJDb3VudCwgaXQsIHYuZGVzY3JpcHRpb24oKSwgSlNWYWx1ZTo6
ZW5jb2RlKHYpKTsKKyAgICAgICAgICAgIGRhdGFMb2coIltyJSAzZF0gICAgICAgICAgICAgICAg
ICAgICB8ICUxMHAgfCAlLTE2cyAlcCBcbiIsIHJlZ2lzdGVyQ291bnQsIGl0LCB2LmRlc2NyaXB0
aW9uKCksIEpTVmFsdWU6OmVuY29kZSh2KSk7CiAjZW5kaWYKICAgICAgICAgICAgICsraXQ7CiAg
ICAgICAgICAgICArK3JlZ2lzdGVyQ291bnQ7CkBAIC04MzgsMTAgKzg1MCwxMCBAQCBzdGF0aWMg
aW50IGdldExpbmVOdW1iZXJGb3JDYWxsRnJhbWUoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBD
YWxsRnJhbWUqIGNhbGxGcgogI2VuZGlmCiB9CiAKLXN0YXRpYyBDYWxsRnJhbWUqIGdldENhbGxl
ckluZm8oSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSwgaW50
JiBsaW5lTnVtYmVyKQorc3RhdGljIENhbGxGcmFtZSogZ2V0Q2FsbGVySW5mbyhKU0dsb2JhbERh
dGEqIGdsb2JhbERhdGEsIENhbGxGcmFtZSogY2FsbEZyYW1lLCBpbnQmIGxpbmVOdW1iZXIsIHVu
c2lnbmVkJiBieXRlY29kZU9mZnNldCkKIHsKICAgICBVTlVTRURfUEFSQU0oZ2xvYmFsRGF0YSk7
Ci0gICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQgPSAwOworICAgIGJ5dGVjb2RlT2Zmc2V0ID0g
MDsKICAgICBsaW5lTnVtYmVyID0gLTE7CiAgICAgQVNTRVJUKCFjYWxsRnJhbWUtPmhhc0hvc3RD
YWxsRnJhbWVGbGFnKCkpOwogICAgIENhbGxGcmFtZSogY2FsbGVyRnJhbWUgPSBjYWxsRnJhbWUt
PmNvZGVCbG9jaygpID8gY2FsbEZyYW1lLT50cnVlQ2FsbGVyRnJhbWUoKSA6IGNhbGxGcmFtZS0+
Y2FsbGVyRnJhbWUoKS0+cmVtb3ZlSG9zdENhbGxGcmFtZUZsYWcoKTsKQEAgLTk3Myw3ICs5ODUs
OCBAQCB2b2lkIEludGVycHJldGVyOjpnZXRTdGFja1RyYWNlKEpTR2xvYmFsRGF0YSogZ2xvYmFs
RGF0YSwgVmVjdG9yPFN0YWNrRnJhbWU+JiByZQogICAgICAgICAgICAgU3RhY2tGcmFtZSBzID0g
eyBTdHJvbmc8SlNPYmplY3Q+KCpnbG9iYWxEYXRhLCBjYWxsRnJhbWUtPmNhbGxlZSgpKSwgU3Rh
Y2tGcmFtZU5hdGl2ZUNvZGUsIFN0cm9uZzxFeGVjdXRhYmxlQmFzZT4oKSwgLTEsIFVTdHJpbmco
KX07CiAgICAgICAgICAgICByZXN1bHRzLmFwcGVuZChzKTsKICAgICAgICAgfQotICAgICAgICBj
YWxsRnJhbWUgPSBnZXRDYWxsZXJJbmZvKGdsb2JhbERhdGEsIGNhbGxGcmFtZSwgbGluZSk7Cisg
ICAgICAgIHVuc2lnbmVkIHVudXNlZEJ5dGVjb2RlT2Zmc2V0ID0gMDsKKyAgICAgICAgY2FsbEZy
YW1lID0gZ2V0Q2FsbGVySW5mbyhnbG9iYWxEYXRhLCBjYWxsRnJhbWUsIGxpbmUsIHVudXNlZEJ5
dGVjb2RlT2Zmc2V0KTsKICAgICB9CiB9CiAKQEAgLTUzMzAsNyArNTM0Myw4IEBAIEpTVmFsdWUg
SW50ZXJwcmV0ZXI6OnJldHJpZXZlQ2FsbGVyRnJvbVZNQ29kZShDYWxsRnJhbWUqIGNhbGxGcmFt
ZSwgSlNGdW5jdGlvbioKICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwogICAgIAogICAgIGludCBs
aW5lTnVtYmVyOwotICAgIENhbGxGcmFtZSogY2FsbGVyRnJhbWUgPSBnZXRDYWxsZXJJbmZvKCZj
YWxsRnJhbWUtPmdsb2JhbERhdGEoKSwgZnVuY3Rpb25DYWxsRnJhbWUsIGxpbmVOdW1iZXIpOwor
ICAgIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0OworICAgIENhbGxGcmFtZSogY2FsbGVyRnJhbWUg
PSBnZXRDYWxsZXJJbmZvKCZjYWxsRnJhbWUtPmdsb2JhbERhdGEoKSwgZnVuY3Rpb25DYWxsRnJh
bWUsIGxpbmVOdW1iZXIsIGJ5dGVjb2RlT2Zmc2V0KTsKICAgICBpZiAoIWNhbGxlckZyYW1lKQog
ICAgICAgICByZXR1cm4ganNOdWxsKCk7CiAgICAgSlNWYWx1ZSBjYWxsZXIgPSBjYWxsZXJGcmFt
ZS0+Y2FsbGVlKCk7CkBAIC01MzQwLDcgKzUzNTQsNyBAQCBKU1ZhbHVlIEludGVycHJldGVyOjpy
ZXRyaWV2ZUNhbGxlckZyb21WTUNvZGUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTRnVuY3Rpb24q
CiAgICAgLy8gU2tpcCBvdmVyIGZ1bmN0aW9uIGJpbmRpbmdzLgogICAgIEFTU0VSVChjYWxsZXIu
aXNPYmplY3QoKSk7CiAgICAgd2hpbGUgKGFzT2JqZWN0KGNhbGxlciktPmluaGVyaXRzKCZKU0Jv
dW5kRnVuY3Rpb246OnNfaW5mbykpIHsKLSAgICAgICAgY2FsbGVyRnJhbWUgPSBnZXRDYWxsZXJJ
bmZvKCZjYWxsRnJhbWUtPmdsb2JhbERhdGEoKSwgY2FsbGVyRnJhbWUsIGxpbmVOdW1iZXIpOwor
ICAgICAgICBjYWxsZXJGcmFtZSA9IGdldENhbGxlckluZm8oJmNhbGxGcmFtZS0+Z2xvYmFsRGF0
YSgpLCBjYWxsZXJGcmFtZSwgbGluZU51bWJlciwgYnl0ZWNvZGVPZmZzZXQpOwogICAgICAgICBp
ZiAoIWNhbGxlckZyYW1lKQogICAgICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwogICAgICAgICBj
YWxsZXIgPSBjYWxsZXJGcmFtZS0+Y2FsbGVlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCmluZGV4IGJhMmY0ZmFjNGNiNDk3NWM4MzE1ODRl
ODljNDIzM2VlMjU4MTZjODUuLmI4ZDVlZWI0YjAzZjQyOGMxNzFiM2JjNzMzNGY0NGQyMDI4ZDdl
NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnBy
ZXRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRl
ci5oCkBAIC0yNDgsNiArMjQ4LDExIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGR1
bXBTYW1wbGVEYXRhKEV4ZWNTdGF0ZSogZXhlYyk7CiAgICAgICAgIHZvaWQgc3RhcnRTYW1wbGlu
ZygpOwogICAgICAgICB2b2lkIHN0b3BTYW1wbGluZygpOworCisjaWZuZGVmIE5ERUJVRworICAg
ICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGR1bXBDYWxsRnJhbWUoQ2FsbEZyYW1lKik7Cisj
ZW5kaWYKKwogICAgIHByaXZhdGU6CiAgICAgICAgIGVudW0gRXhlY3V0aW9uRmxhZyB7IE5vcm1h
bCwgSW5pdGlhbGl6ZUFuZFJldHVybiB9OwogCkBAIC0yNzksNyArMjg0LDYgQEAgbmFtZXNwYWNl
IEpTQyB7CiAKICAgICAgICAgSlNWYWx1ZSBwcml2YXRlRXhlY3V0ZShFeGVjdXRpb25GbGFnLCBS
ZWdpc3RlckZpbGUqLCBDYWxsRnJhbWUqKTsKIAotICAgICAgICB2b2lkIGR1bXBDYWxsRnJhbWUo
Q2FsbEZyYW1lKik7CiAgICAgICAgIHZvaWQgZHVtcFJlZ2lzdGVycyhDYWxsRnJhbWUqKTsKICAg
ICAgICAgCiAgICAgICAgIGJvb2wgaXNDYWxsQnl0ZWNvZGUoT3Bjb2RlIG9wY29kZSkgeyByZXR1
cm4gb3Bjb2RlID09IGdldE9wY29kZShvcF9jYWxsKSB8fCBvcGNvZGUgPT0gZ2V0T3Bjb2RlKG9w
X2NvbnN0cnVjdCkgfHwgb3Bjb2RlID09IGdldE9wY29kZShvcF9jYWxsX2V2YWwpOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qc2MuY3BwCmluZGV4IDVmM2RiZGI5OTY3M2M4YWMxN2ZjMzgwNDYzNGIwNWUzMDU0YjIy
MDIuLjAwYWQ1ZDNiMjRlZTNkYzQ5NzYwY2E5ODNiZTg4OGJkM2NjZDQyMDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qc2MuY3BwCkBAIC04OCw2ICs4OCw3IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGZ1bmN0aW9uSlNDU3RhY2soRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkdDKEV4ZWNTdGF0ZSopOwogI2lmbmRlZiBOREVCVUcK
IHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uUmVsZWFzZUV4ZWN1
dGFibGVNZW1vcnkoRXhlY1N0YXRlKik7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBmdW5jdGlvbkR1bXBDYWxsRnJhbWUoRXhlY1N0YXRlKik7CiAjZW5kaWYKIHN0YXRpYyBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uVmVyc2lvbihFeGVjU3RhdGUqKTsK
IHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uUnVuKEV4ZWNTdGF0
ZSopOwpAQCAtMTk0LDYgKzE5NSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgYWRkRnVuY3Rpb24o
Z2xvYmFsRGF0YSwgInF1aXQiLCBmdW5jdGlvblF1aXQsIDApOwogICAgICAgICBhZGRGdW5jdGlv
bihnbG9iYWxEYXRhLCAiZ2MiLCBmdW5jdGlvbkdDLCAwKTsKICNpZm5kZWYgTkRFQlVHCisgICAg
ICAgIGFkZEZ1bmN0aW9uKGdsb2JhbERhdGEsICJkdW1wQ2FsbEZyYW1lIiwgZnVuY3Rpb25EdW1w
Q2FsbEZyYW1lLCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24oZ2xvYmFsRGF0YSwgInJlbGVhc2VF
eGVjdXRhYmxlTWVtb3J5IiwgZnVuY3Rpb25SZWxlYXNlRXhlY3V0YWJsZU1lbW9yeSwgMCk7CiAj
ZW5kaWYKICAgICAgICAgYWRkRnVuY3Rpb24oZ2xvYmFsRGF0YSwgInZlcnNpb24iLCBmdW5jdGlv
blZlcnNpb24sIDEpOwpAQCAtMjgxLDYgKzI4MywxNSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGZ1bmN0aW9uUHJpbnQoRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiB9CiAKKyNpZm5kZWYgTkRFQlVHCitFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uRHVtcENhbGxGcmFtZShFeGVjU3RhdGUqIGV4ZWMp
Cit7CisgICAgaWYgKCFleGVjLT5jYWxsZXJGcmFtZSgpLT5oYXNIb3N0Q2FsbEZyYW1lRmxhZygp
KQorICAgICAgICBleGVjLT5nbG9iYWxEYXRhKCkuaW50ZXJwcmV0ZXItPmR1bXBDYWxsRnJhbWUo
ZXhlYy0+Y2FsbGVyRnJhbWUoKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKK30KKyNlbmRpZgorCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0
aW9uRGVidWcoRXhlY1N0YXRlKiBleGVjKQogewogICAgIGZwcmludGYoc3RkZXJyLCAiLS0+ICVz
XG4iLCBleGVjLT5hcmd1bWVudCgwKS50b1N0cmluZyhleGVjKS0+dmFsdWUoZXhlYykudXRmOCgp
LmRhdGEoKSk7Cg==
</data>
<flag name="review"
          id="161390"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>