<?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>195588</bug_id>
          
          <creation_ts>2019-03-11 17:51:06 -0700</creation_ts>
          <short_desc>Web Inspector: DOMStorage: lazily create the agent</short_desc>
          <delta_ts>2019-03-19 12:11: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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1515139</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-11 17:51:06 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515154</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-11 17:58:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/48791878&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517548</commentid>
    <comment_count>2</comment_count>
      <attachid>364971</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-17 12:28:37 -0700</bug_when>
    <thetext>Created attachment 364971
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517555</commentid>
    <comment_count>3</comment_count>
      <attachid>364976</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-17 14:42:52 -0700</bug_when>
    <thetext>Created attachment 364976
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517581</commentid>
    <comment_count>4</comment_count>
      <attachid>364976</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-17 17:17:59 -0700</bug_when>
    <thetext>Comment on attachment 364976
Patch

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

&gt; Source/WebCore/inspector/agents/InspectorDOMStorageAgent.cpp:184
&gt; +        errorString = &quot;Missing page agent&quot;_s;

This should probably be `&quot;Missing Page agent&quot;`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518140</commentid>
    <comment_count>5</comment_count>
      <attachid>364976</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-03-18 21:57:30 -0700</bug_when>
    <thetext>Comment on attachment 364976
Patch

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

r=me

&gt; Source/WebCore/inspector/CommandLineAPIHost.cpp:169
&gt; -    if (m_domStorageAgent)
&gt; -        return m_domStorageAgent-&gt;storageId(storage);
&gt; -    return { };
&gt; +    return InspectorDOMStorageAgent::storageId(storage);

Nice!

&gt;&gt; Source/WebCore/inspector/agents/InspectorDOMStorageAgent.cpp:184
&gt;&gt; +        errorString = &quot;Missing page agent&quot;_s;
&gt; 
&gt; This should probably be `&quot;Missing Page agent&quot;`.

Agreed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518339</commentid>
    <comment_count>6</comment_count>
      <attachid>365182</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-19 10:39:49 -0700</bug_when>
    <thetext>Created attachment 365182
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518364</commentid>
    <comment_count>7</comment_count>
      <attachid>365182</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-19 10:51:43 -0700</bug_when>
    <thetext>Comment on attachment 365182
Patch

Rejecting attachment 365182 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 365182, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=365182&amp;action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=195588&amp;ctype=xml&amp;excludefield=attachmentdata
Processing 1 patch from 1 bug.
Processing patch 365182 from bug 195588.
Fetching: https://bugs.webkit.org/attachment.cgi?id=365182
Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Parsed 7 diffs from patch file(s).
patching file Source/WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/inspector/CommandLineAPIHost.cpp
patching file Source/WebCore/inspector/CommandLineAPIHost.h
patching file Source/WebCore/inspector/InspectorController.cpp
Hunk #1 FAILED at 127.
Hunk #2 succeeded at 138 (offset -4 lines).
Hunk #3 succeeded at 188 (offset -4 lines).
1 out of 3 hunks FAILED -- saving rejects to file Source/WebCore/inspector/InspectorController.cpp.rej
patching file Source/WebCore/inspector/WorkerInspectorController.cpp
Hunk #1 succeeded at 77 with fuzz 1 (offset -3 lines).
patching file Source/WebCore/inspector/agents/InspectorDOMStorageAgent.cpp
patching file Source/WebCore/inspector/agents/InspectorDOMStorageAgent.h

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: https://webkit-queues.webkit.org/results/11567901</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518410</commentid>
    <comment_count>8</comment_count>
      <attachid>365193</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-19 11:47:58 -0700</bug_when>
    <thetext>Created attachment 365193
Patch

Include drive-by fix from r243150 &lt;https://trac.webkit.org/changeset/243150&gt;: move creation of Heap agent outside `ENABLE(RESOURCE_USAGE)` block</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518436</commentid>
    <comment_count>9</comment_count>
      <attachid>365193</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-19 12:11:13 -0700</bug_when>
    <thetext>Comment on attachment 365193
Patch

Clearing flags on attachment: 365193

Committed r243158: &lt;https://trac.webkit.org/changeset/243158&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518437</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-19 12:11:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364971</attachid>
            <date>2019-03-17 12:28:37 -0700</date>
            <delta_ts>2019-03-17 14:42:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195588-20190317122836.patch</filename>
            <type>text/plain</type>
            <size>11720</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0MzQxYTJkODBiYzRlMzRhMWYwY2M0NDliN2JkODY5OGFmOTdmYWZmLi45
MmI4MGEwMDJjNjE0YjhmNTBhMTgzNmU3YjBlYzkyZmI1MDQ1MDc2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzMgQEAKKzIwMTktMDMtMTcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IERPTVN0b3JhZ2U6IGxhemlseSBjcmVhdGUgdGhl
IGFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTU1ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4NzkxODc4PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgZnVuY3Rpb25zIHVzZWQgYnkg
YENvbW1hbmRMaW5lQVBJSG9zdGAgc3RhdGljIHNvIHRoYXQgYW4gYEluc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudGAKKyAgICAgICAgZG9lc24ndCBuZWVkIHRvIGJlIGNyZWF0ZWQgdG8gY2FsbCB0aGVt
LgorCisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQu
aDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6Okluc3BlY3Rv
ckRPTVN0b3JhZ2VBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQ6OnN0b3JhZ2VJZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQ6OmRpZERpc3BhdGNoRE9NU3RvcmFnZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6ZmluZFN0b3JhZ2VBcmVhKToKKworICAgICAgICAqIGlu
c3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbW1hbmRM
aW5lQVBJSG9zdDo6aW5pdCk6CisgICAgICAgICogaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9z
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21tYW5kTGluZUFQSUhvc3Q6OmRpc2Nvbm5lY3Qp
OgorICAgICAgICAoV2ViQ29yZTo6Q29tbWFuZExpbmVBUElIb3N0OjpzdG9yYWdlSWQpOgorCisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpjcmVhdGVMYXp5QWdlbnRzKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpXb3JrZXJJbnNwZWN0b3JDb250cm9s
bGVyKToKKwogMjAxOS0wMy0xNiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgSW1wcm92ZSBub3JtYWxpemF0aW9uIGNvZGUsIGluY2x1ZGluZyBtb3ZpbmcgZnJvbSB1
bm9ybS5oIHRvIHVub3JtMi5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
Q29tbWFuZExpbmVBUElIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5k
TGluZUFQSUhvc3QuY3BwCmluZGV4IDNmOTgzZmEzMzJjZTNlZTI2NjAzYzRiZTJhODEwMGQwNmUx
ZGMyMDMuLjY5ZTQzNGEwMTM1ZDUwYTAzYmM0ZDAzYWZjOGUwOGI1Y2U0Zjc4YmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuY3BwCkBAIC03MSw3
ICs3MSw2IEBAIHZvaWQgQ29tbWFuZExpbmVBUElIb3N0OjpkaXNjb25uZWN0KCkKIHsKICAgICBt
X2luc3BlY3RvckFnZW50ID0gbnVsbHB0cjsKICAgICBtX2NvbnNvbGVBZ2VudCA9IG51bGxwdHI7
Ci0gICAgbV9kb21TdG9yYWdlQWdlbnQgPSBudWxscHRyOwogICAgIG1fZGF0YWJhc2VBZ2VudCA9
IG51bGxwdHI7CiB9CiAKQEAgLTE2Nyw5ICsxNjYsNyBAQCBTdHJpbmcgQ29tbWFuZExpbmVBUElI
b3N0OjpkYXRhYmFzZUlkKERhdGFiYXNlJiBkYXRhYmFzZSkKIAogU3RyaW5nIENvbW1hbmRMaW5l
QVBJSG9zdDo6c3RvcmFnZUlkKFN0b3JhZ2UmIHN0b3JhZ2UpCiB7Ci0gICAgaWYgKG1fZG9tU3Rv
cmFnZUFnZW50KQotICAgICAgICByZXR1cm4gbV9kb21TdG9yYWdlQWdlbnQtPnN0b3JhZ2VJZChz
dG9yYWdlKTsKLSAgICByZXR1cm4geyB9OworICAgIHJldHVybiBJbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQ6OnN0b3JhZ2VJZChzdG9yYWdlKTsKIH0KIAogSlNWYWx1ZSBDb21tYW5kTGluZUFQSUhv
c3Q6OndyYXBwZXIoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJ
SG9zdC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oCmlu
ZGV4IGYwZDIwNjJkZWU5ZGRiOWRkZjVjODk4YWU3ZDk0ZGJjM2VhYjZiYWMuLjJkY2M3YWM5Y2Qx
MzE3YzFkNTljMzE4MjEyNTIyYTg2ZWU0OWFkNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmgKQEAgLTQ3LDcgKzQ3LDYgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBEYXRhYmFzZTsKIGNsYXNzIEV2ZW50VGFyZ2V0OwotY2xhc3MgSW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsKIGNs
YXNzIEpTRE9NR2xvYmFsT2JqZWN0OwogY2xhc3MgU3RvcmFnZTsKQEAgLTYxLDEzICs2MCwxMSBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGluaXQoSW5zcGVjdG9yOjpJbnNwZWN0b3JBZ2VudCogaW5z
cGVjdG9yQWdlbnQKICAgICAgICAgLCBJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVBZ2VudCog
Y29uc29sZUFnZW50Ci0gICAgICAgICwgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBkb21TdG9y
YWdlQWdlbnQKICAgICAgICAgLCBJbnNwZWN0b3JEYXRhYmFzZUFnZW50KiBkYXRhYmFzZUFnZW50
CiAgICAgICAgICkKICAgICB7CiAgICAgICAgIG1faW5zcGVjdG9yQWdlbnQgPSBpbnNwZWN0b3JB
Z2VudDsKICAgICAgICAgbV9jb25zb2xlQWdlbnQgPSBjb25zb2xlQWdlbnQ7Ci0gICAgICAgIG1f
ZG9tU3RvcmFnZUFnZW50ID0gZG9tU3RvcmFnZUFnZW50OwogICAgICAgICBtX2RhdGFiYXNlQWdl
bnQgPSBkYXRhYmFzZUFnZW50OwogICAgIH0KIApAQCAtMTA3LDcgKzEwNCw2IEBAIHByaXZhdGU6
CiAKICAgICBJbnNwZWN0b3I6Okluc3BlY3RvckFnZW50KiBtX2luc3BlY3RvckFnZW50IHsgbnVs
bHB0ciB9OwogICAgIEluc3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29sZUFnZW50KiBtX2NvbnNvbGVB
Z2VudCB7IG51bGxwdHIgfTsKLSAgICBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIG1fZG9tU3Rv
cmFnZUFnZW50IHsgbnVsbHB0ciB9OwogICAgIEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIG1fZGF0
YWJhc2VBZ2VudCB7IG51bGxwdHIgfTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0YWJs
ZU9iamVjdD4gbV9pbnNwZWN0ZWRPYmplY3Q7IC8vICQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggOTdmOTQ4MDQ2OTQwYTQyY2Iy
NzI1ZTJkYzE2NzdhMDM1MTk3ZTRjOC4uMjEwOTU2MjNiYzJmMGFhNjc1MTA4ODZmZmI4MzZhMzE2
YjViMzdmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcApAQCAtMTI3LDEwICsxMjcsNiBAQCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNw
ZWN0b3JDb250cm9sbGVyKFBhZ2UmIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwog
ICAgIEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIGRhdGFiYXNlQWdlbnQgPSBkYXRhYmFzZUFnZW50
UHRyLmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVuZChXVEZNb3ZlKGRhdGFiYXNlQWdlbnRQdHIp
KTsKIAotICAgIGF1dG8gZG9tU3RvcmFnZUFnZW50UHRyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNw
ZWN0b3JET01TdG9yYWdlQWdlbnQ+KHBhZ2VDb250ZXh0LCBtX3BhZ2VBZ2VudCk7Ci0gICAgSW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50KiBkb21TdG9yYWdlQWdlbnQgPSBkb21TdG9yYWdlQWdlbnRQ
dHIuZ2V0KCk7Ci0gICAgbV9hZ2VudHMuYXBwZW5kKFdURk1vdmUoZG9tU3RvcmFnZUFnZW50UHRy
KSk7Ci0KICAgICBhdXRvIGhlYXBBZ2VudFB0ciA9IHN0ZDo6bWFrZV91bmlxdWU8UGFnZUhlYXBB
Z2VudD4ocGFnZUNvbnRleHQpOwogICAgIEluc3BlY3RvckhlYXBBZ2VudCogaGVhcEFnZW50ID0g
aGVhcEFnZW50UHRyLmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVuZChXVEZNb3ZlKGhlYXBBZ2Vu
dFB0cikpOwpAQCAtMTQ4LDcgKzE0NCw3IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3Rv
ckNvbnRyb2xsZXIoUGFnZSYgcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAKICAg
ICBBU1NFUlQobV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmNvbW1hbmRMaW5lQVBJSG9zdCgpKTsK
ICAgICBpZiAoQ29tbWFuZExpbmVBUElIb3N0KiBjb21tYW5kTGluZUFQSUhvc3QgPSBtX2luamVj
dGVkU2NyaXB0TWFuYWdlci0+Y29tbWFuZExpbmVBUElIb3N0KCkpCi0gICAgICAgIGNvbW1hbmRM
aW5lQVBJSG9zdC0+aW5pdChtX2luc3BlY3RvckFnZW50LCBjb25zb2xlQWdlbnQsIGRvbVN0b3Jh
Z2VBZ2VudCwgZGF0YWJhc2VBZ2VudCk7CisgICAgICAgIGNvbW1hbmRMaW5lQVBJSG9zdC0+aW5p
dChtX2luc3BlY3RvckFnZW50LCBjb25zb2xlQWdlbnQsIGRhdGFiYXNlQWdlbnQpOwogfQogCiBJ
bnNwZWN0b3JDb250cm9sbGVyOjp+SW5zcGVjdG9yQ29udHJvbGxlcigpCkBAIC0xOTgsNiArMTk0
LDcgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpjcmVhdGVMYXp5QWdlbnRzKCkKICAgICBt
X2FnZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQ+KHBhZ2VDb250ZXh0LCBtX3BhZ2VBZ2VudCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChz
dGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckxheWVyVHJlZUFnZW50PihwYWdlQ29udGV4dCkpOwog
ICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvcldvcmtlckFnZW50
PihwYWdlQ29udGV4dCkpOworICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPElu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudD4ocGFnZUNvbnRleHQpKTsKICNpZiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKICAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0
b3JJbmRleGVkREJBZ2VudD4ocGFnZUNvbnRleHQsIG1fcGFnZUFnZW50KSk7CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9s
bGVyLmNwcAppbmRleCBiMDYzZTZmYTQ1NWY2NWVlYWU4MTljYmQ4YTkyZmU1OWFhMDJmZWM2Li43
MTRlMTgxY2I1OTMyNzVhMzBiNzM3YzZiNmEwYWNkOWU2MWFmM2ZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBA
IC04MCw3ICs4MCw3IEBAIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6Oldvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXIoV29ya2VyR2xvYmFsU2NvcGUmIHdvcmtlckdsCiAgICAgbV9hZ2VudHMuYXBw
ZW5kKFdURk1vdmUoaGVhcEFnZW50KSk7CiAKICAgICBpZiAoQ29tbWFuZExpbmVBUElIb3N0KiBj
b21tYW5kTGluZUFQSUhvc3QgPSBtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+Y29tbWFuZExpbmVB
UElIb3N0KCkpCi0gICAgICAgIGNvbW1hbmRMaW5lQVBJSG9zdC0+aW5pdChudWxscHRyLCBtX2lu
c3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpLCBudWxscHRyLCBudWxscHRyKTsK
KyAgICAgICAgY29tbWFuZExpbmVBUElIb3N0LT5pbml0KG51bGxwdHIsIG1faW5zdHJ1bWVudGlu
Z0FnZW50cy0+d2ViQ29uc29sZUFnZW50KCksIG51bGxwdHIpOwogfQogCiBXb3JrZXJJbnNwZWN0
b3JDb250cm9sbGVyOjp+V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcigpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTVN0b3JhZ2VB
Z2VudC5jcHAKaW5kZXggNmE3YTg3NGRlYzJjMjg4MTM2YzBhOWM2NGY0Y2JkMTQ3ZGViNTc2MS4u
YzgxNTRlNTlkNmY3ODFhZjE0MDM3MzE2OTMwMjllNDBkNWE3NWI4ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NU3RvcmFn
ZUFnZW50LmNwcApAQCAtNTQsMTEgKzU0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNp
bmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIAotSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpJbnNw
ZWN0b3JET01TdG9yYWdlQWdlbnQoV2ViQWdlbnRDb250ZXh0JiBjb250ZXh0LCBJbnNwZWN0b3JQ
YWdlQWdlbnQqIHBhZ2VBZ2VudCkKK0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6SW5zcGVjdG9y
RE9NU3RvcmFnZUFnZW50KFdlYkFnZW50Q29udGV4dCYgY29udGV4dCkKICAgICA6IEluc3BlY3Rv
ckFnZW50QmFzZSgiRE9NU3RvcmFnZSJfcywgY29udGV4dCkKICAgICAsIG1fZnJvbnRlbmREaXNw
YXRjaGVyKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpET01TdG9yYWdlRnJvbnRlbmREaXNw
YXRjaGVyPihjb250ZXh0LmZyb250ZW5kUm91dGVyKSkKICAgICAsIG1fYmFja2VuZERpc3BhdGNo
ZXIoSW5zcGVjdG9yOjpET01TdG9yYWdlQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShjb250ZXh0
LmJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKSkKLSAgICAsIG1fcGFnZUFnZW50KHBhZ2VBZ2VudCkK
IHsKICAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMuc2V0SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50
KHRoaXMpOwogfQpAQCAtMTQ3LDcgKzE0Niw3IEBAIFN0cmluZyBJbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQ6OnN0b3JhZ2VJZChTdG9yYWdlJiBzdG9yYWdlKQogICAgIEFTU0VSVCh3aW5kb3cpOwog
ICAgIFJlZjxTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4gPSBkb2N1bWVudC0+c2VjdXJp
dHlPcmlnaW4oKTsKICAgICBib29sIGlzTG9jYWxTdG9yYWdlID0gd2luZG93LT5vcHRpb25hbExv
Y2FsU3RvcmFnZSgpID09ICZzdG9yYWdlOwotICAgIHJldHVybiBzdG9yYWdlSWQoc2VjdXJpdHlP
cmlnaW4ucHRyKCksIGlzTG9jYWxTdG9yYWdlKS0+dG9KU09OU3RyaW5nKCk7CisgICAgcmV0dXJu
IEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6c3RvcmFnZUlkKHNlY3VyaXR5T3JpZ2luLnB0cigp
LCBpc0xvY2FsU3RvcmFnZSktPnRvSlNPTlN0cmluZygpOwogfQogCiBSZWZQdHI8SW5zcGVjdG9y
OjpQcm90b2NvbDo6RE9NU3RvcmFnZTo6U3RvcmFnZUlkPiBJbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQ6OnN0b3JhZ2VJZChTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sIGJvb2wgaXNMb2Nh
bFN0b3JhZ2UpCkBAIC0xNjMsNyArMTYyLDcgQEAgdm9pZCBJbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQ6OmRpZERpc3BhdGNoRE9NU3RvcmFnZUV2ZW50KGNvbnN0IFN0cmluZyYga2V5LCBjb24KICAg
ICBpZiAoIW1fZW5hYmxlZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUmVmUHRyPEluc3BlY3Rv
cjo6UHJvdG9jb2w6OkRPTVN0b3JhZ2U6OlN0b3JhZ2VJZD4gaWQgPSBzdG9yYWdlSWQoc2VjdXJp
dHlPcmlnaW4sIHN0b3JhZ2VUeXBlID09IFN0b3JhZ2VUeXBlOjpMb2NhbCk7CisgICAgUmVmUHRy
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTVN0b3JhZ2U6OlN0b3JhZ2VJZD4gaWQgPSBJbnNwZWN0
b3JET01TdG9yYWdlQWdlbnQ6OnN0b3JhZ2VJZChzZWN1cml0eU9yaWdpbiwgc3RvcmFnZVR5cGUg
PT0gU3RvcmFnZVR5cGU6OkxvY2FsKTsKIAogICAgIGlmIChrZXkuaXNOdWxsKCkpCiAgICAgICAg
IG1fZnJvbnRlbmREaXNwYXRjaGVyLT5kb21TdG9yYWdlSXRlbXNDbGVhcmVkKGlkKTsKQEAgLTE4
OCwxNSArMTg3LDIyIEBAIFJlZlB0cjxTdG9yYWdlQXJlYT4gSW5zcGVjdG9yRE9NU3RvcmFnZUFn
ZW50OjpmaW5kU3RvcmFnZUFyZWEoRXJyb3JTdHJpbmcmIGVycm9yCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwogICAgIH0KIAotICAgIHRhcmdldEZyYW1lID0gbV9wYWdlQWdlbnQtPmZpbmRGcmFt
ZVdpdGhTZWN1cml0eU9yaWdpbihzZWN1cml0eU9yaWdpbik7CisgICAgYXV0byogcGFnZUFnZW50
ID0gbV9pbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclBhZ2VBZ2VudCgpOworICAgIEFTU0VS
VChwYWdlQWdlbnQpOworICAgIGlmICghcGFnZUFnZW50KSB7CisgICAgICAgIGVycm9yU3RyaW5n
ID0gIk1pc3NpbmcgcGFnZSBhZ2VudCJfczsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAg
fQorCisgICAgdGFyZ2V0RnJhbWUgPSBwYWdlQWdlbnQtPmZpbmRGcmFtZVdpdGhTZWN1cml0eU9y
aWdpbihzZWN1cml0eU9yaWdpbik7CiAgICAgaWYgKCF0YXJnZXRGcmFtZSkgewogICAgICAgICBl
cnJvclN0cmluZyA9ICJGcmFtZSBub3QgZm91bmQgZm9yIHRoZSBnaXZlbiBzZWN1cml0eSBvcmln
aW4iX3M7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIGlmICghaXNMb2Nh
bFN0b3JhZ2UpCi0gICAgICAgIHJldHVybiBtX3BhZ2VBZ2VudC0+cGFnZSgpLnNlc3Npb25TdG9y
YWdlKCktPnN0b3JhZ2VBcmVhKHRhcmdldEZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdp
bigpLmRhdGEoKSk7Ci0gICAgcmV0dXJuIG1fcGFnZUFnZW50LT5wYWdlKCkuc3RvcmFnZU5hbWVz
cGFjZVByb3ZpZGVyKCkubG9jYWxTdG9yYWdlQXJlYSgqdGFyZ2V0RnJhbWUtPmRvY3VtZW50KCkp
OworICAgICAgICByZXR1cm4gcGFnZUFnZW50LT5wYWdlKCkuc2Vzc2lvblN0b3JhZ2UoKS0+c3Rv
cmFnZUFyZWEodGFyZ2V0RnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgp
KTsKKyAgICByZXR1cm4gcGFnZUFnZW50LT5wYWdlKCkuc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVy
KCkubG9jYWxTdG9yYWdlQXJlYSgqdGFyZ2V0RnJhbWUtPmRvY3VtZW50KCkpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaAppbmRleCAxZGU4NzJlYjk0ZjA2
ZTY3NTgzZTRkNGY1ZWZlZTM1OTczYTIyZWNjLi4yMDU3ZTFmZTQ1MmVhMzc5ZTEyMTU0OGE4MjE3
ZDZmZjEwMDY3YTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgKQEAgLTQxLDcgKzQxLDYgQEAgY2xh
c3MgRE9NU3RvcmFnZUZyb250ZW5kRGlzcGF0Y2hlcjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgRnJhbWU7Ci1jbGFzcyBJbnNwZWN0b3JQYWdlQWdlbnQ7CiBjbGFzcyBQYWdlOwogY2xh
c3MgU2VjdXJpdHlPcmlnaW47CiBjbGFzcyBTdG9yYWdlOwpAQCAtNTIsNyArNTEsNyBAQCBjbGFz
cyBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRC
YXNlLCBwdWJsaWMgSW5zcGVjdAogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckRP
TVN0b3JhZ2VBZ2VudCk7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0g
ICAgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KFdlYkFnZW50Q29udGV4dCYsIEluc3BlY3RvclBh
Z2VBZ2VudCopOworICAgIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudChXZWJBZ2VudENvbnRleHQm
KTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQoKTsKIAogICAgIHZvaWQg
ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJ
bnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CkBAIC02Niw4ICs2NSw4IEBA
IHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZURPTVN0b3JhZ2VJdGVtKEVycm9yU3RyaW5nJiwgY29u
c3QgSlNPTjo6T2JqZWN0JiBzdG9yYWdlSWQsIGNvbnN0IFN0cmluZyYga2V5KSBvdmVycmlkZTsK
IAogICAgIC8vIENhbGxlZCBmcm9tIHRoZSBpbmplY3RlZCBzY3JpcHQuCi0gICAgU3RyaW5nIHN0
b3JhZ2VJZChTdG9yYWdlJik7Ci0gICAgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTVN0
b3JhZ2U6OlN0b3JhZ2VJZD4gc3RvcmFnZUlkKFNlY3VyaXR5T3JpZ2luKiwgYm9vbCBpc0xvY2Fs
U3RvcmFnZSk7CisgICAgc3RhdGljIFN0cmluZyBzdG9yYWdlSWQoU3RvcmFnZSYpOworICAgIHN0
YXRpYyBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NU3RvcmFnZTo6U3RvcmFnZUlkPiBz
dG9yYWdlSWQoU2VjdXJpdHlPcmlnaW4qLCBib29sIGlzTG9jYWxTdG9yYWdlKTsKIAogICAgIC8v
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbgogICAgIHZvaWQgZGlkRGlzcGF0Y2hET01TdG9yYWdl
RXZlbnQoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgb2xkVmFsdWUsIGNvbnN0IFN0
cmluZyYgbmV3VmFsdWUsIFN0b3JhZ2VUeXBlLCBTZWN1cml0eU9yaWdpbiopOwpAQCAtNzcsNyAr
NzYsNiBAQCBwcml2YXRlOgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3Rvcjo6RE9NU3Rv
cmFnZUZyb250ZW5kRGlzcGF0Y2hlcj4gbV9mcm9udGVuZERpc3BhdGNoZXI7CiAgICAgUmVmUHRy
PEluc3BlY3Rvcjo6RE9NU3RvcmFnZUJhY2tlbmREaXNwYXRjaGVyPiBtX2JhY2tlbmREaXNwYXRj
aGVyOwotICAgIEluc3BlY3RvclBhZ2VBZ2VudCogbV9wYWdlQWdlbnQgeyBudWxscHRyIH07CiAK
ICAgICBib29sIG1fZW5hYmxlZCB7IGZhbHNlIH07CiB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364976</attachid>
            <date>2019-03-17 14:42:52 -0700</date>
            <delta_ts>2019-03-19 10:39:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195588-20190317144251.patch</filename>
            <type>text/plain</type>
            <size>13106</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0MzQxYTJkODBiYzRlMzRhMWYwY2M0NDliN2JkODY5OGFmOTdmYWZmLi45
OWVhZWRiZjQxN2ZkNGEwYWUwOTI3MWViOGU0ZTM0MTQ0ZWZkNWU2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzggQEAKKzIwMTktMDMtMTcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IERPTVN0b3JhZ2U6IGxhemlseSBjcmVhdGUgdGhl
IGFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTU1ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4NzkxODc4PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBmdW5jdGlvbmFs
aXR5LgorCisgICAgICAgIE1ha2UgZnVuY3Rpb25zIHVzZWQgYnkgYENvbW1hbmRMaW5lQVBJSG9z
dGAgc3RhdGljIHNvIHRoYXQgYW4gYEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudGAKKyAgICAgICAg
ZG9lc24ndCBuZWVkIHRvIGJlIGNyZWF0ZWQgdG8gY2FsbCB0aGVtLgorCisgICAgICAgICogaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6Okluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmVuYWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmRpc2FibGUpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpzdG9yYWdlSWQpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpkaWREaXNwYXRjaERPTVN0
b3JhZ2VFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6
OmZpbmRTdG9yYWdlQXJlYSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQ6On5JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQpOiBEZWxldGVkLgorCisgICAgICAgICog
aW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oOgorICAgICAgICAoV2ViQ29yZTo6Q29tbWFu
ZExpbmVBUElIb3N0Ojppbml0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29tbWFuZExpbmVBUElI
b3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbW1hbmRMaW5lQVBJSG9zdDo6ZGlzY29ubmVj
dCk6CisgICAgICAgIChXZWJDb3JlOjpDb21tYW5kTGluZUFQSUhvc3Q6OnN0b3JhZ2VJZCk6CisK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmNyZWF0ZUxhenlBZ2VudHMpOgorICAg
ICAgICAqIGluc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6Oldvcmtlckluc3BlY3RvckNvbnRy
b2xsZXIpOgorCiAyMDE5LTAzLTE2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBJbXByb3ZlIG5vcm1hbGl6YXRpb24gY29kZSwgaW5jbHVkaW5nIG1vdmluZyBmcm9t
IHVub3JtLmggdG8gdW5vcm0yLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Db21tYW5kTGluZUFQSUhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1h
bmRMaW5lQVBJSG9zdC5jcHAKaW5kZXggM2Y5ODNmYTMzMmNlM2VlMjY2MDNjNGJlMmE4MTAwZDA2
ZTFkYzIwMy4uNjllNDM0YTAxMzVkNTBhMDNiYzRkMDNhZmM4ZTA4YjVjZTRmNzhiYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAKQEAgLTcx
LDcgKzcxLDYgQEAgdm9pZCBDb21tYW5kTGluZUFQSUhvc3Q6OmRpc2Nvbm5lY3QoKQogewogICAg
IG1faW5zcGVjdG9yQWdlbnQgPSBudWxscHRyOwogICAgIG1fY29uc29sZUFnZW50ID0gbnVsbHB0
cjsKLSAgICBtX2RvbVN0b3JhZ2VBZ2VudCA9IG51bGxwdHI7CiAgICAgbV9kYXRhYmFzZUFnZW50
ID0gbnVsbHB0cjsKIH0KIApAQCAtMTY3LDkgKzE2Niw3IEBAIFN0cmluZyBDb21tYW5kTGluZUFQ
SUhvc3Q6OmRhdGFiYXNlSWQoRGF0YWJhc2UmIGRhdGFiYXNlKQogCiBTdHJpbmcgQ29tbWFuZExp
bmVBUElIb3N0OjpzdG9yYWdlSWQoU3RvcmFnZSYgc3RvcmFnZSkKIHsKLSAgICBpZiAobV9kb21T
dG9yYWdlQWdlbnQpCi0gICAgICAgIHJldHVybiBtX2RvbVN0b3JhZ2VBZ2VudC0+c3RvcmFnZUlk
KHN0b3JhZ2UpOwotICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIEluc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudDo6c3RvcmFnZUlkKHN0b3JhZ2UpOwogfQogCiBKU1ZhbHVlIENvbW1hbmRMaW5lQVBJ
SG9zdDo6d3JhcHBlcihFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVB
UElIb3N0LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmgK
aW5kZXggZjBkMjA2MmRlZTlkZGI5ZGRmNWM4OThhZTdkOTRkYmMzZWFiNmJhYy4uMmRjYzdhYzlj
ZDEzMTdjMWQ1OWMzMTgyMTI1MjJhODZlZTQ5YWQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaApAQCAtNDcsNyArNDcsNiBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIERhdGFiYXNlOwogY2xhc3MgRXZlbnRUYXJnZXQ7Ci1jbGFzcyBJ
bnNwZWN0b3JET01TdG9yYWdlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JEYXRhYmFzZUFnZW50Owog
Y2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CiBjbGFzcyBTdG9yYWdlOwpAQCAtNjEsMTMgKzYwLDEx
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgaW5pdChJbnNwZWN0b3I6Okluc3BlY3RvckFnZW50KiBp
bnNwZWN0b3JBZ2VudAogICAgICAgICAsIEluc3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29sZUFnZW50
KiBjb25zb2xlQWdlbnQKLSAgICAgICAgLCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIGRvbVN0
b3JhZ2VBZ2VudAogICAgICAgICAsIEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIGRhdGFiYXNlQWdl
bnQKICAgICAgICAgKQogICAgIHsKICAgICAgICAgbV9pbnNwZWN0b3JBZ2VudCA9IGluc3BlY3Rv
ckFnZW50OwogICAgICAgICBtX2NvbnNvbGVBZ2VudCA9IGNvbnNvbGVBZ2VudDsKLSAgICAgICAg
bV9kb21TdG9yYWdlQWdlbnQgPSBkb21TdG9yYWdlQWdlbnQ7CiAgICAgICAgIG1fZGF0YWJhc2VB
Z2VudCA9IGRhdGFiYXNlQWdlbnQ7CiAgICAgfQogCkBAIC0xMDcsNyArMTA0LDYgQEAgcHJpdmF0
ZToKIAogICAgIEluc3BlY3Rvcjo6SW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9yQWdlbnQgeyBu
dWxscHRyIH07CiAgICAgSW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQqIG1fY29uc29s
ZUFnZW50IHsgbnVsbHB0ciB9OwotICAgIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCogbV9kb21T
dG9yYWdlQWdlbnQgeyBudWxscHRyIH07CiAgICAgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogbV9k
YXRhYmFzZUFnZW50IHsgbnVsbHB0ciB9OwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3Rh
YmxlT2JqZWN0PiBtX2luc3BlY3RlZE9iamVjdDsgLy8gJDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA5N2Y5NDgwNDY5NDBhNDJj
YjI3MjVlMmRjMTY3N2EwMzUxOTdlNGM4Li4yMTA5NTYyM2JjMmYwYWE2NzUxMDg4NmZmYjgzNmEz
MTZiNWIzN2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwCkBAIC0xMjcsMTAgKzEyNyw2IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Oklu
c3BlY3RvckNvbnRyb2xsZXIoUGFnZSYgcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JD
CiAgICAgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogZGF0YWJhc2VBZ2VudCA9IGRhdGFiYXNlQWdl
bnRQdHIuZ2V0KCk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKFdURk1vdmUoZGF0YWJhc2VBZ2VudFB0
cikpOwogCi0gICAgYXV0byBkb21TdG9yYWdlQWdlbnRQdHIgPSBzdGQ6Om1ha2VfdW5pcXVlPElu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudD4ocGFnZUNvbnRleHQsIG1fcGFnZUFnZW50KTsKLSAgICBJ
bnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIGRvbVN0b3JhZ2VBZ2VudCA9IGRvbVN0b3JhZ2VBZ2Vu
dFB0ci5nZXQoKTsKLSAgICBtX2FnZW50cy5hcHBlbmQoV1RGTW92ZShkb21TdG9yYWdlQWdlbnRQ
dHIpKTsKLQogICAgIGF1dG8gaGVhcEFnZW50UHRyID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlSGVh
cEFnZW50PihwYWdlQ29udGV4dCk7CiAgICAgSW5zcGVjdG9ySGVhcEFnZW50KiBoZWFwQWdlbnQg
PSBoZWFwQWdlbnRQdHIuZ2V0KCk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKFdURk1vdmUoaGVhcEFn
ZW50UHRyKSk7CkBAIC0xNDgsNyArMTQ0LDcgQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVj
dG9yQ29udHJvbGxlcihQYWdlJiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckMKIAog
ICAgIEFTU0VSVChtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+Y29tbWFuZExpbmVBUElIb3N0KCkp
OwogICAgIGlmIChDb21tYW5kTGluZUFQSUhvc3QqIGNvbW1hbmRMaW5lQVBJSG9zdCA9IG1faW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyLT5jb21tYW5kTGluZUFQSUhvc3QoKSkKLSAgICAgICAgY29tbWFu
ZExpbmVBUElIb3N0LT5pbml0KG1faW5zcGVjdG9yQWdlbnQsIGNvbnNvbGVBZ2VudCwgZG9tU3Rv
cmFnZUFnZW50LCBkYXRhYmFzZUFnZW50KTsKKyAgICAgICAgY29tbWFuZExpbmVBUElIb3N0LT5p
bml0KG1faW5zcGVjdG9yQWdlbnQsIGNvbnNvbGVBZ2VudCwgZGF0YWJhc2VBZ2VudCk7CiB9CiAK
IEluc3BlY3RvckNvbnRyb2xsZXI6On5JbnNwZWN0b3JDb250cm9sbGVyKCkKQEAgLTE5OCw2ICsx
OTQsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNyZWF0ZUxhenlBZ2VudHMoKQogICAg
IG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudD4ocGFnZUNvbnRleHQsIG1fcGFnZUFnZW50KSk7CiAgICAgbV9hZ2VudHMuYXBwZW5k
KHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQ+KHBhZ2VDb250ZXh0KSk7
CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yV29ya2VyQWdl
bnQ+KHBhZ2VDb250ZXh0KSk7CisgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8
SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50PihwYWdlQ29udGV4dCkpOwogI2lmIEVOQUJMRShJTkRF
WEVEX0RBVEFCQVNFKQogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3Bl
Y3RvckluZGV4ZWREQkFnZW50PihwYWdlQ29udGV4dCwgbV9wYWdlQWdlbnQpKTsKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRy
b2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRy
b2xsZXIuY3BwCmluZGV4IGIwNjNlNmZhNDU1ZjY1ZWVhZTgxOWNiZDhhOTJmZTU5YWEwMmZlYzYu
LjcxNGUxODFjYjU5MzI3NWEzMGI3MzdjNmI2YTBhY2Q5ZTYxYWYzZmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAK
QEAgLTgwLDcgKzgwLDcgQEAgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6V29ya2VySW5zcGVj
dG9yQ29udHJvbGxlcihXb3JrZXJHbG9iYWxTY29wZSYgd29ya2VyR2wKICAgICBtX2FnZW50cy5h
cHBlbmQoV1RGTW92ZShoZWFwQWdlbnQpKTsKIAogICAgIGlmIChDb21tYW5kTGluZUFQSUhvc3Qq
IGNvbW1hbmRMaW5lQVBJSG9zdCA9IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5jb21tYW5kTGlu
ZUFQSUhvc3QoKSkKLSAgICAgICAgY29tbWFuZExpbmVBUElIb3N0LT5pbml0KG51bGxwdHIsIG1f
aW5zdHJ1bWVudGluZ0FnZW50cy0+d2ViQ29uc29sZUFnZW50KCksIG51bGxwdHIsIG51bGxwdHIp
OworICAgICAgICBjb21tYW5kTGluZUFQSUhvc3QtPmluaXQobnVsbHB0ciwgbV9pbnN0cnVtZW50
aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSwgbnVsbHB0cik7CiB9CiAKIFdvcmtlckluc3Bl
Y3RvckNvbnRyb2xsZXI6On5Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NU3RvcmFn
ZUFnZW50LmNwcAppbmRleCA2YTdhODc0ZGVjMmMyODgxMzZjMGE5YzY0ZjRjYmQxNDdkZWI1NzYx
Li40OGM1ZjIzZjc5NWQ3YWYxZTM1ZjRmY2JmYjhmYzgzY2M1ZTc2ZmU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01TdG9y
YWdlQWdlbnQuY3BwCkBAIC01NCwxOCArNTQsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1
c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogCi1JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6Oklu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudChXZWJBZ2VudENvbnRleHQmIGNvbnRleHQsIEluc3BlY3Rv
clBhZ2VBZ2VudCogcGFnZUFnZW50KQorSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpJbnNwZWN0
b3JET01TdG9yYWdlQWdlbnQoV2ViQWdlbnRDb250ZXh0JiBjb250ZXh0KQogICAgIDogSW5zcGVj
dG9yQWdlbnRCYXNlKCJET01TdG9yYWdlIl9zLCBjb250ZXh0KQogICAgICwgbV9mcm9udGVuZERp
c3BhdGNoZXIoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3I6OkRPTVN0b3JhZ2VGcm9udGVuZERp
c3BhdGNoZXI+KGNvbnRleHQuZnJvbnRlbmRSb3V0ZXIpKQogICAgICwgbV9iYWNrZW5kRGlzcGF0
Y2hlcihJbnNwZWN0b3I6OkRPTVN0b3JhZ2VCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGNvbnRl
eHQuYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpKQotICAgICwgbV9wYWdlQWdlbnQocGFnZUFnZW50
KQogewotICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy5zZXRJbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQodGhpcyk7Ci19Ci0KLUluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6fkluc3BlY3RvckRPTVN0
b3JhZ2VBZ2VudCgpCi17Ci0gICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLnNldEluc3BlY3RvckRP
TVN0b3JhZ2VBZ2VudChudWxscHRyKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVy
KiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopCkBAIC04MCwxMiArNzMsMTIgQEAgdm9p
ZCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OndpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5k
KEluc3BlY3Rvcjo6RGlzY29ubmUKIAogdm9pZCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmVu
YWJsZShFcnJvclN0cmluZyYpCiB7Ci0gICAgbV9lbmFibGVkID0gdHJ1ZTsKKyAgICBtX2luc3Ry
dW1lbnRpbmdBZ2VudHMuc2V0SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KHRoaXMpOwogfQogCiB2
b2lkIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6ZGlzYWJsZShFcnJvclN0cmluZyYpCiB7Ci0g
ICAgbV9lbmFibGVkID0gZmFsc2U7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLnNldEluc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudChudWxscHRyKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JET01TdG9y
YWdlQWdlbnQ6OmdldERPTVN0b3JhZ2VJdGVtcyhFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNv
bnN0IEpTT046Ok9iamVjdCYgc3RvcmFnZUlkLCBSZWZQdHI8SlNPTjo6QXJyYXlPZjxKU09OOjpB
cnJheU9mPFN0cmluZz4+PiYgaXRlbXMpCkBAIC0xNDcsNyArMTQwLDcgQEAgU3RyaW5nIEluc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudDo6c3RvcmFnZUlkKFN0b3JhZ2UmIHN0b3JhZ2UpCiAgICAgQVNT
RVJUKHdpbmRvdyk7CiAgICAgUmVmPFNlY3VyaXR5T3JpZ2luPiBzZWN1cml0eU9yaWdpbiA9IGRv
Y3VtZW50LT5zZWN1cml0eU9yaWdpbigpOwogICAgIGJvb2wgaXNMb2NhbFN0b3JhZ2UgPSB3aW5k
b3ctPm9wdGlvbmFsTG9jYWxTdG9yYWdlKCkgPT0gJnN0b3JhZ2U7Ci0gICAgcmV0dXJuIHN0b3Jh
Z2VJZChzZWN1cml0eU9yaWdpbi5wdHIoKSwgaXNMb2NhbFN0b3JhZ2UpLT50b0pTT05TdHJpbmco
KTsKKyAgICByZXR1cm4gSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpzdG9yYWdlSWQoc2VjdXJp
dHlPcmlnaW4ucHRyKCksIGlzTG9jYWxTdG9yYWdlKS0+dG9KU09OU3RyaW5nKCk7CiB9CiAKIFJl
ZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpET01TdG9yYWdlOjpTdG9yYWdlSWQ+IEluc3BlY3Rv
ckRPTVN0b3JhZ2VBZ2VudDo6c3RvcmFnZUlkKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdp
biwgYm9vbCBpc0xvY2FsU3RvcmFnZSkKQEAgLTE2MCwxMCArMTUzLDcgQEAgUmVmUHRyPEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkRPTVN0b3JhZ2U6OlN0b3JhZ2VJZD4gSW5zcGVjdG9yRE9NU3RvcmFn
ZUFnZW50OjpzdG8KIAogdm9pZCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmRpZERpc3BhdGNo
RE9NU3RvcmFnZUV2ZW50KGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIG9sZFZhbHVl
LCBjb25zdCBTdHJpbmcmIG5ld1ZhbHVlLCBTdG9yYWdlVHlwZSBzdG9yYWdlVHlwZSwgU2VjdXJp
dHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luKQogewotICAgIGlmICghbV9lbmFibGVkKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NU3RvcmFnZTo6
U3RvcmFnZUlkPiBpZCA9IHN0b3JhZ2VJZChzZWN1cml0eU9yaWdpbiwgc3RvcmFnZVR5cGUgPT0g
U3RvcmFnZVR5cGU6OkxvY2FsKTsKKyAgICBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6RE9N
U3RvcmFnZTo6U3RvcmFnZUlkPiBpZCA9IEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6c3RvcmFn
ZUlkKHNlY3VyaXR5T3JpZ2luLCBzdG9yYWdlVHlwZSA9PSBTdG9yYWdlVHlwZTo6TG9jYWwpOwog
CiAgICAgaWYgKGtleS5pc051bGwoKSkKICAgICAgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPmRv
bVN0b3JhZ2VJdGVtc0NsZWFyZWQoaWQpOwpAQCAtMTg4LDE1ICsxNzgsMjIgQEAgUmVmUHRyPFN0
b3JhZ2VBcmVhPiBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmZpbmRTdG9yYWdlQXJlYShFcnJv
clN0cmluZyYgZXJyb3IKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgdGFy
Z2V0RnJhbWUgPSBtX3BhZ2VBZ2VudC0+ZmluZEZyYW1lV2l0aFNlY3VyaXR5T3JpZ2luKHNlY3Vy
aXR5T3JpZ2luKTsKKyAgICBhdXRvKiBwYWdlQWdlbnQgPSBtX2luc3RydW1lbnRpbmdBZ2VudHMu
aW5zcGVjdG9yUGFnZUFnZW50KCk7CisgICAgQVNTRVJUKHBhZ2VBZ2VudCk7CisgICAgaWYgKCFw
YWdlQWdlbnQpIHsKKyAgICAgICAgZXJyb3JTdHJpbmcgPSAiTWlzc2luZyBwYWdlIGFnZW50Il9z
OworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICB0YXJnZXRGcmFtZSA9IHBh
Z2VBZ2VudC0+ZmluZEZyYW1lV2l0aFNlY3VyaXR5T3JpZ2luKHNlY3VyaXR5T3JpZ2luKTsKICAg
ICBpZiAoIXRhcmdldEZyYW1lKSB7CiAgICAgICAgIGVycm9yU3RyaW5nID0gIkZyYW1lIG5vdCBm
b3VuZCBmb3IgdGhlIGdpdmVuIHNlY3VyaXR5IG9yaWdpbiJfczsKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKCFpc0xvY2FsU3RvcmFnZSkKLSAgICAgICAgcmV0dXJu
IG1fcGFnZUFnZW50LT5wYWdlKCkuc2Vzc2lvblN0b3JhZ2UoKS0+c3RvcmFnZUFyZWEodGFyZ2V0
RnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKLSAgICByZXR1cm4g
bV9wYWdlQWdlbnQtPnBhZ2UoKS5zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIoKS5sb2NhbFN0b3Jh
Z2VBcmVhKCp0YXJnZXRGcmFtZS0+ZG9jdW1lbnQoKSk7CisgICAgICAgIHJldHVybiBwYWdlQWdl
bnQtPnBhZ2UoKS5zZXNzaW9uU3RvcmFnZSgpLT5zdG9yYWdlQXJlYSh0YXJnZXRGcmFtZS0+ZG9j
dW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS5kYXRhKCkpOworICAgIHJldHVybiBwYWdlQWdlbnQt
PnBhZ2UoKS5zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIoKS5sb2NhbFN0b3JhZ2VBcmVhKCp0YXJn
ZXRGcmFtZS0+ZG9jdW1lbnQoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NU3RvcmFn
ZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTVN0
b3JhZ2VBZ2VudC5oCmluZGV4IDFkZTg3MmViOTRmMDZlNjc1ODNlNGQ0ZjVlZmVlMzU5NzNhMjJl
Y2MuLjVkNGZmNjM4NmI4OGFmMzExMTdhODZjNDA1MjQzNGE1MDQyZTIxNjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01TdG9y
YWdlQWdlbnQuaApAQCAtNDEsNyArNDEsNiBAQCBjbGFzcyBET01TdG9yYWdlRnJvbnRlbmREaXNw
YXRjaGVyOwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGcmFtZTsKLWNsYXNzIEluc3Bl
Y3RvclBhZ2VBZ2VudDsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNz
IFN0b3JhZ2U7CkBAIC01Miw4ICs1MSw4IEBAIGNsYXNzIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2Vu
dCBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3JBZ2VudEJhc2UsIHB1YmxpYyBJbnNwZWN0CiAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KTsKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBJbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQoV2ViQWdlbnRDb250ZXh0JiwgSW5zcGVjdG9yUGFnZUFnZW50Kik7Ci0gICAgdmlydHVhbCB+
SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KCk7CisgICAgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50
KFdlYkFnZW50Q29udGV4dCYpOworICAgIHZpcnR1YWwgfkluc3BlY3RvckRPTVN0b3JhZ2VBZ2Vu
dCgpID0gZGVmYXVsdDsKIAogICAgIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKElu
c3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikg
b3ZlcnJpZGU7CiAgICAgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0
b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwpAQCAtNjYsOCArNjUsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCByZW1vdmVET01TdG9yYWdlSXRlbShFcnJvclN0cmluZyYsIGNvbnN0IEpTT046
Ok9iamVjdCYgc3RvcmFnZUlkLCBjb25zdCBTdHJpbmcmIGtleSkgb3ZlcnJpZGU7CiAKICAgICAv
LyBDYWxsZWQgZnJvbSB0aGUgaW5qZWN0ZWQgc2NyaXB0LgotICAgIFN0cmluZyBzdG9yYWdlSWQo
U3RvcmFnZSYpOwotICAgIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpET01TdG9yYWdlOjpT
dG9yYWdlSWQ+IHN0b3JhZ2VJZChTZWN1cml0eU9yaWdpbiosIGJvb2wgaXNMb2NhbFN0b3JhZ2Up
OworICAgIHN0YXRpYyBTdHJpbmcgc3RvcmFnZUlkKFN0b3JhZ2UmKTsKKyAgICBzdGF0aWMgUmVm
UHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTVN0b3JhZ2U6OlN0b3JhZ2VJZD4gc3RvcmFnZUlk
KFNlY3VyaXR5T3JpZ2luKiwgYm9vbCBpc0xvY2FsU3RvcmFnZSk7CiAKICAgICAvLyBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24KICAgICB2b2lkIGRpZERpc3BhdGNoRE9NU3RvcmFnZUV2ZW50KGNv
bnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIG9sZFZhbHVlLCBjb25zdCBTdHJpbmcmIG5l
d1ZhbHVlLCBTdG9yYWdlVHlwZSwgU2VjdXJpdHlPcmlnaW4qKTsKQEAgLTc3LDkgKzc2LDYgQEAg
cHJpdmF0ZToKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3I6OkRPTVN0b3JhZ2VGcm9u
dGVuZERpc3BhdGNoZXI+IG1fZnJvbnRlbmREaXNwYXRjaGVyOwogICAgIFJlZlB0cjxJbnNwZWN0
b3I6OkRPTVN0b3JhZ2VCYWNrZW5kRGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsKLSAg
ICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1fcGFnZUFnZW50IHsgbnVsbHB0ciB9OwotCi0gICAgYm9v
bCBtX2VuYWJsZWQgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365182</attachid>
            <date>2019-03-19 10:39:49 -0700</date>
            <delta_ts>2019-03-19 11:47:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195588-20190319103949.patch</filename>
            <type>text/plain</type>
            <size>13101</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2YjA4ZjYyZThkNGViMTE3ZjAzNmVlZWYzYmE1NTBjODEyYzU2OTE1Li42
NGZmMGM5NzU3OThkNTM5ODNjOGZhMGY1YjNiMjY0NTE2ZjNlNzUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzggQEAKKzIwMTktMDMtMTggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IERPTVN0b3JhZ2U6IGxhemlseSBjcmVhdGUgdGhl
IGFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTU1ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4NzkxODc4PgorCisgICAgICAgIFJldmll
d2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25h
bGl0eS4KKworICAgICAgICBNYWtlIGZ1bmN0aW9ucyB1c2VkIGJ5IGBDb21tYW5kTGluZUFQSUhv
c3RgIHN0YXRpYyBzbyB0aGF0IGFuIGBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnRgCisgICAgICAg
IGRvZXNuJ3QgbmVlZCB0byBiZSBjcmVhdGVkIHRvIGNhbGwgdGhlbS4KKworICAgICAgICAqIGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50Lmg6CisgICAgICAgICogaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjplbmFibGUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpkaXNhYmxlKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6c3RvcmFnZUlkKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6ZGlkRGlzcGF0Y2hET01T
dG9yYWdlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50
OjpmaW5kU3RvcmFnZUFyZWEpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFn
ZUFnZW50Ojp+SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KTogRGVsZXRlZC4KKworICAgICAgICAq
IGluc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbW1h
bmRMaW5lQVBJSG9zdDo6aW5pdCk6CisgICAgICAgICogaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJ
SG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21tYW5kTGluZUFQSUhvc3Q6OmRpc2Nvbm5l
Y3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29tbWFuZExpbmVBUElIb3N0OjpzdG9yYWdlSWQpOgor
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpjcmVhdGVMYXp5QWdlbnRzKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpXb3JrZXJJbnNwZWN0b3JDb250
cm9sbGVyKToKKwogMjAxOS0wMy0xOCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICBDcmFzaCB3aGVuIHJlbG9hZGluZyB0ZXN0IHdpdGggYXN5bmMgb3Zl
cmZsb3cgc2Nyb2xsaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29t
bWFuZExpbmVBUElIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGlu
ZUFQSUhvc3QuY3BwCmluZGV4IDNmOTgzZmEzMzJjZTNlZTI2NjAzYzRiZTJhODEwMGQwNmUxZGMy
MDMuLjY5ZTQzNGEwMTM1ZDUwYTAzYmM0ZDAzYWZjOGUwOGI1Y2U0Zjc4YmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuY3BwCkBAIC03MSw3ICs3
MSw2IEBAIHZvaWQgQ29tbWFuZExpbmVBUElIb3N0OjpkaXNjb25uZWN0KCkKIHsKICAgICBtX2lu
c3BlY3RvckFnZW50ID0gbnVsbHB0cjsKICAgICBtX2NvbnNvbGVBZ2VudCA9IG51bGxwdHI7Ci0g
ICAgbV9kb21TdG9yYWdlQWdlbnQgPSBudWxscHRyOwogICAgIG1fZGF0YWJhc2VBZ2VudCA9IG51
bGxwdHI7CiB9CiAKQEAgLTE2Nyw5ICsxNjYsNyBAQCBTdHJpbmcgQ29tbWFuZExpbmVBUElIb3N0
OjpkYXRhYmFzZUlkKERhdGFiYXNlJiBkYXRhYmFzZSkKIAogU3RyaW5nIENvbW1hbmRMaW5lQVBJ
SG9zdDo6c3RvcmFnZUlkKFN0b3JhZ2UmIHN0b3JhZ2UpCiB7Ci0gICAgaWYgKG1fZG9tU3RvcmFn
ZUFnZW50KQotICAgICAgICByZXR1cm4gbV9kb21TdG9yYWdlQWdlbnQtPnN0b3JhZ2VJZChzdG9y
YWdlKTsKLSAgICByZXR1cm4geyB9OworICAgIHJldHVybiBJbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQ6OnN0b3JhZ2VJZChzdG9yYWdlKTsKIH0KIAogSlNWYWx1ZSBDb21tYW5kTGluZUFQSUhvc3Q6
OndyYXBwZXIoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9z
dC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oCmluZGV4
IGYwZDIwNjJkZWU5ZGRiOWRkZjVjODk4YWU3ZDk0ZGJjM2VhYjZiYWMuLjJkY2M3YWM5Y2QxMzE3
YzFkNTljMzE4MjEyNTIyYTg2ZWU0OWFkNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvQ29tbWFuZExpbmVBUElIb3N0LmgKQEAgLTQ3LDcgKzQ3LDYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBEYXRhYmFzZTsKIGNsYXNzIEV2ZW50VGFyZ2V0OwotY2xhc3MgSW5zcGVj
dG9yRE9NU3RvcmFnZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsKIGNsYXNz
IEpTRE9NR2xvYmFsT2JqZWN0OwogY2xhc3MgU3RvcmFnZTsKQEAgLTYxLDEzICs2MCwxMSBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIGluaXQoSW5zcGVjdG9yOjpJbnNwZWN0b3JBZ2VudCogaW5zcGVj
dG9yQWdlbnQKICAgICAgICAgLCBJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVBZ2VudCogY29u
c29sZUFnZW50Ci0gICAgICAgICwgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBkb21TdG9yYWdl
QWdlbnQKICAgICAgICAgLCBJbnNwZWN0b3JEYXRhYmFzZUFnZW50KiBkYXRhYmFzZUFnZW50CiAg
ICAgICAgICkKICAgICB7CiAgICAgICAgIG1faW5zcGVjdG9yQWdlbnQgPSBpbnNwZWN0b3JBZ2Vu
dDsKICAgICAgICAgbV9jb25zb2xlQWdlbnQgPSBjb25zb2xlQWdlbnQ7Ci0gICAgICAgIG1fZG9t
U3RvcmFnZUFnZW50ID0gZG9tU3RvcmFnZUFnZW50OwogICAgICAgICBtX2RhdGFiYXNlQWdlbnQg
PSBkYXRhYmFzZUFnZW50OwogICAgIH0KIApAQCAtMTA3LDcgKzEwNCw2IEBAIHByaXZhdGU6CiAK
ICAgICBJbnNwZWN0b3I6Okluc3BlY3RvckFnZW50KiBtX2luc3BlY3RvckFnZW50IHsgbnVsbHB0
ciB9OwogICAgIEluc3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29sZUFnZW50KiBtX2NvbnNvbGVBZ2Vu
dCB7IG51bGxwdHIgfTsKLSAgICBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIG1fZG9tU3RvcmFn
ZUFnZW50IHsgbnVsbHB0ciB9OwogICAgIEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIG1fZGF0YWJh
c2VBZ2VudCB7IG51bGxwdHIgfTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0YWJsZU9i
amVjdD4gbV9pbnNwZWN0ZWRPYmplY3Q7IC8vICQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggNDk4YTNkN2NlOTljMmU2NTAyNWYz
YmNhNzI5YWFiZThmNjJlYjdhZi4uNzBjZjBjZTZiNGMyN2IxMTNmYTBiNTBkYWY0NjIxOTVjMjdi
ODE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9s
bGVyLmNwcApAQCAtMTI3LDEwICsxMjcsNiBAQCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0
b3JDb250cm9sbGVyKFBhZ2UmIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwogICAg
IEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIGRhdGFiYXNlQWdlbnQgPSBkYXRhYmFzZUFnZW50UHRy
LmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVuZChXVEZNb3ZlKGRhdGFiYXNlQWdlbnRQdHIpKTsK
IAotICAgIGF1dG8gZG9tU3RvcmFnZUFnZW50UHRyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0
b3JET01TdG9yYWdlQWdlbnQ+KHBhZ2VDb250ZXh0LCBtX3BhZ2VBZ2VudCk7Ci0gICAgSW5zcGVj
dG9yRE9NU3RvcmFnZUFnZW50KiBkb21TdG9yYWdlQWdlbnQgPSBkb21TdG9yYWdlQWdlbnRQdHIu
Z2V0KCk7Ci0gICAgbV9hZ2VudHMuYXBwZW5kKFdURk1vdmUoZG9tU3RvcmFnZUFnZW50UHRyKSk7
Ci0KICAgICBhdXRvIGhlYXBBZ2VudFB0ciA9IHN0ZDo6bWFrZV91bmlxdWU8UGFnZUhlYXBBZ2Vu
dD4ocGFnZUNvbnRleHQpOwogICAgIEluc3BlY3RvckhlYXBBZ2VudCogaGVhcEFnZW50ID0gaGVh
cEFnZW50UHRyLmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVuZChXVEZNb3ZlKGhlYXBBZ2VudFB0
cikpOwpAQCAtMTQ2LDcgKzE0Miw3IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNv
bnRyb2xsZXIoUGFnZSYgcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAKICAgICBB
U1NFUlQobV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmNvbW1hbmRMaW5lQVBJSG9zdCgpKTsKICAg
ICBpZiAoQ29tbWFuZExpbmVBUElIb3N0KiBjb21tYW5kTGluZUFQSUhvc3QgPSBtX2luamVjdGVk
U2NyaXB0TWFuYWdlci0+Y29tbWFuZExpbmVBUElIb3N0KCkpCi0gICAgICAgIGNvbW1hbmRMaW5l
QVBJSG9zdC0+aW5pdChtX2luc3BlY3RvckFnZW50LCBjb25zb2xlQWdlbnQsIGRvbVN0b3JhZ2VB
Z2VudCwgZGF0YWJhc2VBZ2VudCk7CisgICAgICAgIGNvbW1hbmRMaW5lQVBJSG9zdC0+aW5pdCht
X2luc3BlY3RvckFnZW50LCBjb25zb2xlQWdlbnQsIGRhdGFiYXNlQWdlbnQpOwogfQogCiBJbnNw
ZWN0b3JDb250cm9sbGVyOjp+SW5zcGVjdG9yQ29udHJvbGxlcigpCkBAIC0xOTYsNiArMTkyLDcg
QEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpjcmVhdGVMYXp5QWdlbnRzKCkKICAgICBtX2Fn
ZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdl
bnQ+KHBhZ2VDb250ZXh0LCBtX3BhZ2VBZ2VudCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6
Om1ha2VfdW5pcXVlPEluc3BlY3RvckxheWVyVHJlZUFnZW50PihwYWdlQ29udGV4dCkpOwogICAg
IG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvcldvcmtlckFnZW50Pihw
YWdlQ29udGV4dCkpOworICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudD4ocGFnZUNvbnRleHQpKTsKICNpZiBFTkFCTEUoSU5ERVhFRF9E
QVRBQkFTRSkKICAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JJ
bmRleGVkREJBZ2VudD4ocGFnZUNvbnRleHQsIG1fcGFnZUFnZW50KSk7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVy
LmNwcAppbmRleCBiMDYzZTZmYTQ1NWY2NWVlYWU4MTljYmQ4YTkyZmU1OWFhMDJmZWM2Li43MTRl
MTgxY2I1OTMyNzVhMzBiNzM3YzZiNmEwYWNkOWU2MWFmM2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC04
MCw3ICs4MCw3IEBAIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6Oldvcmtlckluc3BlY3RvckNv
bnRyb2xsZXIoV29ya2VyR2xvYmFsU2NvcGUmIHdvcmtlckdsCiAgICAgbV9hZ2VudHMuYXBwZW5k
KFdURk1vdmUoaGVhcEFnZW50KSk7CiAKICAgICBpZiAoQ29tbWFuZExpbmVBUElIb3N0KiBjb21t
YW5kTGluZUFQSUhvc3QgPSBtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+Y29tbWFuZExpbmVBUElI
b3N0KCkpCi0gICAgICAgIGNvbW1hbmRMaW5lQVBJSG9zdC0+aW5pdChudWxscHRyLCBtX2luc3Ry
dW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpLCBudWxscHRyLCBudWxscHRyKTsKKyAg
ICAgICAgY29tbWFuZExpbmVBUElIb3N0LT5pbml0KG51bGxwdHIsIG1faW5zdHJ1bWVudGluZ0Fn
ZW50cy0+d2ViQ29uc29sZUFnZW50KCksIG51bGxwdHIpOwogfQogCiBXb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyOjp+V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcigpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2Vu
dC5jcHAKaW5kZXggNmE3YTg3NGRlYzJjMjg4MTM2YzBhOWM2NGY0Y2JkMTQ3ZGViNTc2MS4uZjA5
NmVhOWI3ZDdkMmRhZTA3ZmJhNjcxMjE1YTdhNTk4Y2JmMDhmOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NU3RvcmFnZUFn
ZW50LmNwcApAQCAtNTQsMTggKzU0LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcg
bmFtZXNwYWNlIEluc3BlY3RvcjsKIAotSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpJbnNwZWN0
b3JET01TdG9yYWdlQWdlbnQoV2ViQWdlbnRDb250ZXh0JiBjb250ZXh0LCBJbnNwZWN0b3JQYWdl
QWdlbnQqIHBhZ2VBZ2VudCkKK0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6SW5zcGVjdG9yRE9N
U3RvcmFnZUFnZW50KFdlYkFnZW50Q29udGV4dCYgY29udGV4dCkKICAgICA6IEluc3BlY3RvckFn
ZW50QmFzZSgiRE9NU3RvcmFnZSJfcywgY29udGV4dCkKICAgICAsIG1fZnJvbnRlbmREaXNwYXRj
aGVyKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpET01TdG9yYWdlRnJvbnRlbmREaXNwYXRj
aGVyPihjb250ZXh0LmZyb250ZW5kUm91dGVyKSkKICAgICAsIG1fYmFja2VuZERpc3BhdGNoZXIo
SW5zcGVjdG9yOjpET01TdG9yYWdlQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShjb250ZXh0LmJh
Y2tlbmREaXNwYXRjaGVyLCB0aGlzKSkKLSAgICAsIG1fcGFnZUFnZW50KHBhZ2VBZ2VudCkKIHsK
LSAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMuc2V0SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KHRo
aXMpOwotfQotCi1JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6On5JbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQoKQotewotICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy5zZXRJbnNwZWN0b3JET01TdG9y
YWdlQWdlbnQobnVsbHB0cik7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50Ojpk
aWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciosIElu
c3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKQpAQCAtODAsMTIgKzczLDEyIEBAIHZvaWQgSW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50Ojp3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNw
ZWN0b3I6OkRpc2Nvbm5lCiAKIHZvaWQgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjplbmFibGUo
RXJyb3JTdHJpbmcmKQogewotICAgIG1fZW5hYmxlZCA9IHRydWU7CisgICAgbV9pbnN0cnVtZW50
aW5nQWdlbnRzLnNldEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCh0aGlzKTsKIH0KIAogdm9pZCBJ
bnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmRpc2FibGUoRXJyb3JTdHJpbmcmKQogewotICAgIG1f
ZW5hYmxlZCA9IGZhbHNlOworICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy5zZXRJbnNwZWN0b3JE
T01TdG9yYWdlQWdlbnQobnVsbHB0cik7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRE9NU3RvcmFnZUFn
ZW50OjpnZXRET01TdG9yYWdlSXRlbXMoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBjb25zdCBK
U09OOjpPYmplY3QmIHN0b3JhZ2VJZCwgUmVmUHRyPEpTT046OkFycmF5T2Y8SlNPTjo6QXJyYXlP
ZjxTdHJpbmc+Pj4mIGl0ZW1zKQpAQCAtMTQ3LDcgKzE0MCw3IEBAIFN0cmluZyBJbnNwZWN0b3JE
T01TdG9yYWdlQWdlbnQ6OnN0b3JhZ2VJZChTdG9yYWdlJiBzdG9yYWdlKQogICAgIEFTU0VSVCh3
aW5kb3cpOwogICAgIFJlZjxTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4gPSBkb2N1bWVu
dC0+c2VjdXJpdHlPcmlnaW4oKTsKICAgICBib29sIGlzTG9jYWxTdG9yYWdlID0gd2luZG93LT5v
cHRpb25hbExvY2FsU3RvcmFnZSgpID09ICZzdG9yYWdlOwotICAgIHJldHVybiBzdG9yYWdlSWQo
c2VjdXJpdHlPcmlnaW4ucHRyKCksIGlzTG9jYWxTdG9yYWdlKS0+dG9KU09OU3RyaW5nKCk7Cisg
ICAgcmV0dXJuIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6c3RvcmFnZUlkKHNlY3VyaXR5T3Jp
Z2luLnB0cigpLCBpc0xvY2FsU3RvcmFnZSktPnRvSlNPTlN0cmluZygpOwogfQogCiBSZWZQdHI8
SW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NU3RvcmFnZTo6U3RvcmFnZUlkPiBJbnNwZWN0b3JET01T
dG9yYWdlQWdlbnQ6OnN0b3JhZ2VJZChTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sIGJv
b2wgaXNMb2NhbFN0b3JhZ2UpCkBAIC0xNjAsMTAgKzE1Myw3IEBAIFJlZlB0cjxJbnNwZWN0b3I6
OlByb3RvY29sOjpET01TdG9yYWdlOjpTdG9yYWdlSWQ+IEluc3BlY3RvckRPTVN0b3JhZ2VBZ2Vu
dDo6c3RvCiAKIHZvaWQgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpkaWREaXNwYXRjaERPTVN0
b3JhZ2VFdmVudChjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29u
c3QgU3RyaW5nJiBuZXdWYWx1ZSwgU3RvcmFnZVR5cGUgc3RvcmFnZVR5cGUsIFNlY3VyaXR5T3Jp
Z2luKiBzZWN1cml0eU9yaWdpbikKIHsKLSAgICBpZiAoIW1fZW5hYmxlZCkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTVN0b3JhZ2U6OlN0b3Jh
Z2VJZD4gaWQgPSBzdG9yYWdlSWQoc2VjdXJpdHlPcmlnaW4sIHN0b3JhZ2VUeXBlID09IFN0b3Jh
Z2VUeXBlOjpMb2NhbCk7CisgICAgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTVN0b3Jh
Z2U6OlN0b3JhZ2VJZD4gaWQgPSBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OnN0b3JhZ2VJZChz
ZWN1cml0eU9yaWdpbiwgc3RvcmFnZVR5cGUgPT0gU3RvcmFnZVR5cGU6OkxvY2FsKTsKIAogICAg
IGlmIChrZXkuaXNOdWxsKCkpCiAgICAgICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT5kb21TdG9y
YWdlSXRlbXNDbGVhcmVkKGlkKTsKQEAgLTE4OCwxNSArMTc4LDIyIEBAIFJlZlB0cjxTdG9yYWdl
QXJlYT4gSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpmaW5kU3RvcmFnZUFyZWEoRXJyb3JTdHJp
bmcmIGVycm9yCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIHRhcmdldEZy
YW1lID0gbV9wYWdlQWdlbnQtPmZpbmRGcmFtZVdpdGhTZWN1cml0eU9yaWdpbihzZWN1cml0eU9y
aWdpbik7CisgICAgYXV0byogcGFnZUFnZW50ID0gbV9pbnN0cnVtZW50aW5nQWdlbnRzLmluc3Bl
Y3RvclBhZ2VBZ2VudCgpOworICAgIEFTU0VSVChwYWdlQWdlbnQpOworICAgIGlmICghcGFnZUFn
ZW50KSB7CisgICAgICAgIGVycm9yU3RyaW5nID0gIk1pc3NpbmcgUGFnZSBhZ2VudCJfczsKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgdGFyZ2V0RnJhbWUgPSBwYWdlQWdl
bnQtPmZpbmRGcmFtZVdpdGhTZWN1cml0eU9yaWdpbihzZWN1cml0eU9yaWdpbik7CiAgICAgaWYg
KCF0YXJnZXRGcmFtZSkgewogICAgICAgICBlcnJvclN0cmluZyA9ICJGcmFtZSBub3QgZm91bmQg
Zm9yIHRoZSBnaXZlbiBzZWN1cml0eSBvcmlnaW4iX3M7CiAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIH0KIAogICAgIGlmICghaXNMb2NhbFN0b3JhZ2UpCi0gICAgICAgIHJldHVybiBtX3Bh
Z2VBZ2VudC0+cGFnZSgpLnNlc3Npb25TdG9yYWdlKCktPnN0b3JhZ2VBcmVhKHRhcmdldEZyYW1l
LT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSk7Ci0gICAgcmV0dXJuIG1fcGFn
ZUFnZW50LT5wYWdlKCkuc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyKCkubG9jYWxTdG9yYWdlQXJl
YSgqdGFyZ2V0RnJhbWUtPmRvY3VtZW50KCkpOworICAgICAgICByZXR1cm4gcGFnZUFnZW50LT5w
YWdlKCkuc2Vzc2lvblN0b3JhZ2UoKS0+c3RvcmFnZUFyZWEodGFyZ2V0RnJhbWUtPmRvY3VtZW50
KCktPnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKKyAgICByZXR1cm4gcGFnZUFnZW50LT5wYWdl
KCkuc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyKCkubG9jYWxTdG9yYWdlQXJlYSgqdGFyZ2V0RnJh
bWUtPmRvY3VtZW50KCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2Vu
dC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQuaAppbmRleCAxZGU4NzJlYjk0ZjA2ZTY3NTgzZTRkNGY1ZWZlZTM1OTczYTIyZWNjLi41
ZDRmZjYzODZiODhhZjMxMTE3YTg2YzQwNTI0MzRhNTA0MmUyMTY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NU3RvcmFnZUFn
ZW50LmgKQEAgLTQxLDcgKzQxLDYgQEAgY2xhc3MgRE9NU3RvcmFnZUZyb250ZW5kRGlzcGF0Y2hl
cjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRnJhbWU7Ci1jbGFzcyBJbnNwZWN0b3JQ
YWdlQWdlbnQ7CiBjbGFzcyBQYWdlOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBjbGFzcyBTdG9y
YWdlOwpAQCAtNTIsOCArNTEsOCBAQCBjbGFzcyBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQgZmlu
YWwgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdAogICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCk7CiAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KFdl
YkFnZW50Q29udGV4dCYsIEluc3BlY3RvclBhZ2VBZ2VudCopOwotICAgIHZpcnR1YWwgfkluc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudCgpOworICAgIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudChXZWJB
Z2VudENvbnRleHQmKTsKKyAgICB2aXJ0dWFsIH5JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQoKSA9
IGRlZmF1bHQ7CiAKICAgICB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0
b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJy
aWRlOwogICAgIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpE
aXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKQEAgLTY2LDggKzY1LDggQEAgcHVibGljOgogICAg
IHZvaWQgcmVtb3ZlRE9NU3RvcmFnZUl0ZW0oRXJyb3JTdHJpbmcmLCBjb25zdCBKU09OOjpPYmpl
Y3QmIHN0b3JhZ2VJZCwgY29uc3QgU3RyaW5nJiBrZXkpIG92ZXJyaWRlOwogCiAgICAgLy8gQ2Fs
bGVkIGZyb20gdGhlIGluamVjdGVkIHNjcmlwdC4KLSAgICBTdHJpbmcgc3RvcmFnZUlkKFN0b3Jh
Z2UmKTsKLSAgICBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NU3RvcmFnZTo6U3RvcmFn
ZUlkPiBzdG9yYWdlSWQoU2VjdXJpdHlPcmlnaW4qLCBib29sIGlzTG9jYWxTdG9yYWdlKTsKKyAg
ICBzdGF0aWMgU3RyaW5nIHN0b3JhZ2VJZChTdG9yYWdlJik7CisgICAgc3RhdGljIFJlZlB0cjxJ
bnNwZWN0b3I6OlByb3RvY29sOjpET01TdG9yYWdlOjpTdG9yYWdlSWQ+IHN0b3JhZ2VJZChTZWN1
cml0eU9yaWdpbiosIGJvb2wgaXNMb2NhbFN0b3JhZ2UpOwogCiAgICAgLy8gSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uCiAgICAgdm9pZCBkaWREaXNwYXRjaERPTVN0b3JhZ2VFdmVudChjb25zdCBT
dHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1
ZSwgU3RvcmFnZVR5cGUsIFNlY3VyaXR5T3JpZ2luKik7CkBAIC03Nyw5ICs3Niw2IEBAIHByaXZh
dGU6CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yOjpET01TdG9yYWdlRnJvbnRlbmRE
aXNwYXRjaGVyPiBtX2Zyb250ZW5kRGlzcGF0Y2hlcjsKICAgICBSZWZQdHI8SW5zcGVjdG9yOjpE
T01TdG9yYWdlQmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7Ci0gICAgSW5z
cGVjdG9yUGFnZUFnZW50KiBtX3BhZ2VBZ2VudCB7IG51bGxwdHIgfTsKLQotICAgIGJvb2wgbV9l
bmFibGVkIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365193</attachid>
            <date>2019-03-19 11:47:58 -0700</date>
            <delta_ts>2019-03-19 12:11:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195588-20190319114757.patch</filename>
            <type>text/plain</type>
            <size>13719</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4OWE1NTRmYzg4MzU3YzFlYjEzOGFjZGY0ODAxZTQ4Yjg1OGZhYTIxLi5l
MzZiMGQxZmIyY2NlMjVjMDI4N2NkZDI3NTM1ZTFkOWI5NGJhNzk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzggQEAKKzIwMTktMDMtMTggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IERPTVN0b3JhZ2U6IGxhemlseSBjcmVhdGUgdGhl
IGFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTU1ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4NzkxODc4PgorCisgICAgICAgIFJldmll
d2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25h
bGl0eS4KKworICAgICAgICBNYWtlIGZ1bmN0aW9ucyB1c2VkIGJ5IGBDb21tYW5kTGluZUFQSUhv
c3RgIHN0YXRpYyBzbyB0aGF0IGFuIGBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnRgCisgICAgICAg
IGRvZXNuJ3QgbmVlZCB0byBiZSBjcmVhdGVkIHRvIGNhbGwgdGhlbS4KKworICAgICAgICAqIGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50Lmg6CisgICAgICAgICogaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjplbmFibGUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpkaXNhYmxlKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6c3RvcmFnZUlkKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6ZGlkRGlzcGF0Y2hET01T
dG9yYWdlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50
OjpmaW5kU3RvcmFnZUFyZWEpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFn
ZUFnZW50Ojp+SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KTogRGVsZXRlZC4KKworICAgICAgICAq
IGluc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbW1h
bmRMaW5lQVBJSG9zdDo6aW5pdCk6CisgICAgICAgICogaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJ
SG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21tYW5kTGluZUFQSUhvc3Q6OmRpc2Nvbm5l
Y3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29tbWFuZExpbmVBUElIb3N0OjpzdG9yYWdlSWQpOgor
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpjcmVhdGVMYXp5QWdlbnRzKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpXb3JrZXJJbnNwZWN0b3JDb250
cm9sbGVyKToKKwogMjAxOS0wMy0xOSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFJlbmRlckVsZW1lbnQ6OnN0YXJ0QW5pbWF0aW9uIHNob3VsZCB0YWtlIGNvbnN0
IEFuaW1hdGlvbiYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5k
TGluZUFQSUhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJ
SG9zdC5jcHAKaW5kZXggM2Y5ODNmYTMzMmNlM2VlMjY2MDNjNGJlMmE4MTAwZDA2ZTFkYzIwMy4u
NjllNDM0YTAxMzVkNTBhMDNiYzRkMDNhZmM4ZTA4YjVjZTRmNzhiYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAKQEAgLTcxLDcgKzcxLDYg
QEAgdm9pZCBDb21tYW5kTGluZUFQSUhvc3Q6OmRpc2Nvbm5lY3QoKQogewogICAgIG1faW5zcGVj
dG9yQWdlbnQgPSBudWxscHRyOwogICAgIG1fY29uc29sZUFnZW50ID0gbnVsbHB0cjsKLSAgICBt
X2RvbVN0b3JhZ2VBZ2VudCA9IG51bGxwdHI7CiAgICAgbV9kYXRhYmFzZUFnZW50ID0gbnVsbHB0
cjsKIH0KIApAQCAtMTY3LDkgKzE2Niw3IEBAIFN0cmluZyBDb21tYW5kTGluZUFQSUhvc3Q6OmRh
dGFiYXNlSWQoRGF0YWJhc2UmIGRhdGFiYXNlKQogCiBTdHJpbmcgQ29tbWFuZExpbmVBUElIb3N0
OjpzdG9yYWdlSWQoU3RvcmFnZSYgc3RvcmFnZSkKIHsKLSAgICBpZiAobV9kb21TdG9yYWdlQWdl
bnQpCi0gICAgICAgIHJldHVybiBtX2RvbVN0b3JhZ2VBZ2VudC0+c3RvcmFnZUlkKHN0b3JhZ2Up
OwotICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6
c3RvcmFnZUlkKHN0b3JhZ2UpOwogfQogCiBKU1ZhbHVlIENvbW1hbmRMaW5lQVBJSG9zdDo6d3Jh
cHBlcihFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmgKaW5kZXggZjBk
MjA2MmRlZTlkZGI5ZGRmNWM4OThhZTdkOTRkYmMzZWFiNmJhYy4uMmRjYzdhYzljZDEzMTdjMWQ1
OWMzMTgyMTI1MjJhODZlZTQ5YWQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b21tYW5kTGluZUFQSUhvc3QuaApAQCAtNDcsNyArNDcsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIERhdGFiYXNlOwogY2xhc3MgRXZlbnRUYXJnZXQ7Ci1jbGFzcyBJbnNwZWN0b3JE
T01TdG9yYWdlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JEYXRhYmFzZUFnZW50OwogY2xhc3MgSlNE
T01HbG9iYWxPYmplY3Q7CiBjbGFzcyBTdG9yYWdlOwpAQCAtNjEsMTMgKzYwLDExIEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgaW5pdChJbnNwZWN0b3I6Okluc3BlY3RvckFnZW50KiBpbnNwZWN0b3JB
Z2VudAogICAgICAgICAsIEluc3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xl
QWdlbnQKLSAgICAgICAgLCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIGRvbVN0b3JhZ2VBZ2Vu
dAogICAgICAgICAsIEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIGRhdGFiYXNlQWdlbnQKICAgICAg
ICAgKQogICAgIHsKICAgICAgICAgbV9pbnNwZWN0b3JBZ2VudCA9IGluc3BlY3RvckFnZW50Owog
ICAgICAgICBtX2NvbnNvbGVBZ2VudCA9IGNvbnNvbGVBZ2VudDsKLSAgICAgICAgbV9kb21TdG9y
YWdlQWdlbnQgPSBkb21TdG9yYWdlQWdlbnQ7CiAgICAgICAgIG1fZGF0YWJhc2VBZ2VudCA9IGRh
dGFiYXNlQWdlbnQ7CiAgICAgfQogCkBAIC0xMDcsNyArMTA0LDYgQEAgcHJpdmF0ZToKIAogICAg
IEluc3BlY3Rvcjo6SW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9yQWdlbnQgeyBudWxscHRyIH07
CiAgICAgSW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQqIG1fY29uc29sZUFnZW50IHsg
bnVsbHB0ciB9OwotICAgIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCogbV9kb21TdG9yYWdlQWdl
bnQgeyBudWxscHRyIH07CiAgICAgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogbV9kYXRhYmFzZUFn
ZW50IHsgbnVsbHB0ciB9OwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RhYmxlT2JqZWN0
PiBtX2luc3BlY3RlZE9iamVjdDsgLy8gJDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCBkNmU4OTk3NTQ3ZmY2M2ZlNWFlYzc5NWEy
OTQ3OGI2YTlhNGM2NDVkLi5jZTYyMTA3MjI2NTk5MTYxNzJhYzA2M2ZjNDA0N2E0ZmI5Nzc4MWEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIu
Y3BwCkBAIC0xMjcsMTAgKzEyNyw2IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNv
bnRyb2xsZXIoUGFnZSYgcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAgICAgSW5z
cGVjdG9yRGF0YWJhc2VBZ2VudCogZGF0YWJhc2VBZ2VudCA9IGRhdGFiYXNlQWdlbnRQdHIuZ2V0
KCk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKFdURk1vdmUoZGF0YWJhc2VBZ2VudFB0cikpOwogCi0g
ICAgYXV0byBkb21TdG9yYWdlQWdlbnRQdHIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckRP
TVN0b3JhZ2VBZ2VudD4ocGFnZUNvbnRleHQsIG1fcGFnZUFnZW50KTsKLSAgICBJbnNwZWN0b3JE
T01TdG9yYWdlQWdlbnQqIGRvbVN0b3JhZ2VBZ2VudCA9IGRvbVN0b3JhZ2VBZ2VudFB0ci5nZXQo
KTsKLSAgICBtX2FnZW50cy5hcHBlbmQoV1RGTW92ZShkb21TdG9yYWdlQWdlbnRQdHIpKTsKLQog
ICAgIGF1dG8gc2NyaXB0UHJvZmlsZXJBZ2VudFB0ciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVj
dG9yU2NyaXB0UHJvZmlsZXJBZ2VudD4ocGFnZUNvbnRleHQpOwogICAgIG1faW5zdHJ1bWVudGlu
Z0FnZW50cy0+c2V0SW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2VudChzY3JpcHRQcm9maWxlckFn
ZW50UHRyLmdldCgpKTsKICAgICBtX2FnZW50cy5hcHBlbmQoV1RGTW92ZShzY3JpcHRQcm9maWxl
ckFnZW50UHRyKSk7CkBAIC0xNDIsNyArMTM4LDcgQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5z
cGVjdG9yQ29udHJvbGxlcihQYWdlJiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckMK
IAogICAgIEFTU0VSVChtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+Y29tbWFuZExpbmVBUElIb3N0
KCkpOwogICAgIGlmIChDb21tYW5kTGluZUFQSUhvc3QqIGNvbW1hbmRMaW5lQVBJSG9zdCA9IG1f
aW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5jb21tYW5kTGluZUFQSUhvc3QoKSkKLSAgICAgICAgY29t
bWFuZExpbmVBUElIb3N0LT5pbml0KG1faW5zcGVjdG9yQWdlbnQsIGNvbnNvbGVBZ2VudCwgZG9t
U3RvcmFnZUFnZW50LCBkYXRhYmFzZUFnZW50KTsKKyAgICAgICAgY29tbWFuZExpbmVBUElIb3N0
LT5pbml0KG1faW5zcGVjdG9yQWdlbnQsIGNvbnNvbGVBZ2VudCwgZGF0YWJhc2VBZ2VudCk7CiB9
CiAKIEluc3BlY3RvckNvbnRyb2xsZXI6On5JbnNwZWN0b3JDb250cm9sbGVyKCkKQEAgLTE5Miwx
NCArMTg4LDE1IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y3JlYXRlTGF6eUFnZW50cygp
CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50PihwYWdlQ29udGV4dCwgbV9wYWdlQWdlbnQpKTsKICAgICBtX2FnZW50cy5h
cHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JMYXllclRyZWVBZ2VudD4ocGFnZUNvbnRl
eHQpKTsKICAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JXb3Jr
ZXJBZ2VudD4ocGFnZUNvbnRleHQpKTsKKyAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptYWtlX3Vu
aXF1ZTxJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ+KHBhZ2VDb250ZXh0KSk7CiAjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8
SW5zcGVjdG9ySW5kZXhlZERCQWdlbnQ+KHBhZ2VDb250ZXh0LCBtX3BhZ2VBZ2VudCkpOwogI2Vu
ZGlmCiAjaWYgRU5BQkxFKFJFU09VUkNFX1VTQUdFKQogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6
Om1ha2VfdW5pcXVlPEluc3BlY3RvckNQVVByb2ZpbGVyQWdlbnQ+KHBhZ2VDb250ZXh0KSk7CiAg
ICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yTWVtb3J5QWdlbnQ+
KHBhZ2VDb250ZXh0KSk7Ci0gICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8UGFn
ZUhlYXBBZ2VudD4ocGFnZUNvbnRleHQpKTsKICNlbmRpZgorICAgIG1fYWdlbnRzLmFwcGVuZChz
dGQ6Om1ha2VfdW5pcXVlPFBhZ2VIZWFwQWdlbnQ+KHBhZ2VDb250ZXh0KSk7CiAgICAgbV9hZ2Vu
dHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8UGFnZUF1ZGl0QWdlbnQ+KHBhZ2VDb250ZXh0KSk7
CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yQ2FudmFzQWdl
bnQ+KHBhZ2VDb250ZXh0KSk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8
SW5zcGVjdG9yVGltZWxpbmVBZ2VudD4ocGFnZUNvbnRleHQpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCBi
OGVlNDQwNzJjOGIwMjE4N2QwOTRjMzE0M2I1Mjg0MTBlNDFiM2VhLi4wYzk4YmM3NWMwZWVkNDJh
ODM5ZjZkNjM0OTIzMjYxN2ZiMjk0ZmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC03Nyw3ICs3Nyw3IEBA
IFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIoV29y
a2VyR2xvYmFsU2NvcGUmIHdvcmtlckdsCiAgICAgbV9hZ2VudHMuYXBwZW5kKFdURk1vdmUoY29u
c29sZUFnZW50KSk7CiAKICAgICBpZiAoQ29tbWFuZExpbmVBUElIb3N0KiBjb21tYW5kTGluZUFQ
SUhvc3QgPSBtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+Y29tbWFuZExpbmVBUElIb3N0KCkpCi0g
ICAgICAgIGNvbW1hbmRMaW5lQVBJSG9zdC0+aW5pdChudWxscHRyLCBtX2luc3RydW1lbnRpbmdB
Z2VudHMtPndlYkNvbnNvbGVBZ2VudCgpLCBudWxscHRyLCBudWxscHRyKTsKKyAgICAgICAgY29t
bWFuZExpbmVBUElIb3N0LT5pbml0KG51bGxwdHIsIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+d2Vi
Q29uc29sZUFnZW50KCksIG51bGxwdHIpOwogfQogCiBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVy
Ojp+V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAKaW5k
ZXggNmE3YTg3NGRlYzJjMjg4MTM2YzBhOWM2NGY0Y2JkMTQ3ZGViNTc2MS4uZjA5NmVhOWI3ZDdk
MmRhZTA3ZmJhNjcxMjE1YTdhNTk4Y2JmMDhmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcApA
QCAtNTQsMTggKzU0LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNl
IEluc3BlY3RvcjsKIAotSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpJbnNwZWN0b3JET01TdG9y
YWdlQWdlbnQoV2ViQWdlbnRDb250ZXh0JiBjb250ZXh0LCBJbnNwZWN0b3JQYWdlQWdlbnQqIHBh
Z2VBZ2VudCkKK0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6SW5zcGVjdG9yRE9NU3RvcmFnZUFn
ZW50KFdlYkFnZW50Q29udGV4dCYgY29udGV4dCkKICAgICA6IEluc3BlY3RvckFnZW50QmFzZSgi
RE9NU3RvcmFnZSJfcywgY29udGV4dCkKICAgICAsIG1fZnJvbnRlbmREaXNwYXRjaGVyKHN0ZDo6
bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpET01TdG9yYWdlRnJvbnRlbmREaXNwYXRjaGVyPihjb250
ZXh0LmZyb250ZW5kUm91dGVyKSkKICAgICAsIG1fYmFja2VuZERpc3BhdGNoZXIoSW5zcGVjdG9y
OjpET01TdG9yYWdlQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShjb250ZXh0LmJhY2tlbmREaXNw
YXRjaGVyLCB0aGlzKSkKLSAgICAsIG1fcGFnZUFnZW50KHBhZ2VBZ2VudCkKIHsKLSAgICBtX2lu
c3RydW1lbnRpbmdBZ2VudHMuc2V0SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KHRoaXMpOwotfQot
Ci1JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6On5JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQoKQot
ewotICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy5zZXRJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQo
bnVsbHB0cik7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpkaWRDcmVhdGVG
cm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciosIEluc3BlY3Rvcjo6
QmFja2VuZERpc3BhdGNoZXIqKQpAQCAtODAsMTIgKzczLDEyIEBAIHZvaWQgSW5zcGVjdG9yRE9N
U3RvcmFnZUFnZW50Ojp3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRp
c2Nvbm5lCiAKIHZvaWQgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjplbmFibGUoRXJyb3JTdHJp
bmcmKQogewotICAgIG1fZW5hYmxlZCA9IHRydWU7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRz
LnNldEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCh0aGlzKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JE
T01TdG9yYWdlQWdlbnQ6OmRpc2FibGUoRXJyb3JTdHJpbmcmKQogewotICAgIG1fZW5hYmxlZCA9
IGZhbHNlOworICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy5zZXRJbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQobnVsbHB0cik7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpnZXRE
T01TdG9yYWdlSXRlbXMoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBjb25zdCBKU09OOjpPYmpl
Y3QmIHN0b3JhZ2VJZCwgUmVmUHRyPEpTT046OkFycmF5T2Y8SlNPTjo6QXJyYXlPZjxTdHJpbmc+
Pj4mIGl0ZW1zKQpAQCAtMTQ3LDcgKzE0MCw3IEBAIFN0cmluZyBJbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQ6OnN0b3JhZ2VJZChTdG9yYWdlJiBzdG9yYWdlKQogICAgIEFTU0VSVCh3aW5kb3cpOwog
ICAgIFJlZjxTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4gPSBkb2N1bWVudC0+c2VjdXJp
dHlPcmlnaW4oKTsKICAgICBib29sIGlzTG9jYWxTdG9yYWdlID0gd2luZG93LT5vcHRpb25hbExv
Y2FsU3RvcmFnZSgpID09ICZzdG9yYWdlOwotICAgIHJldHVybiBzdG9yYWdlSWQoc2VjdXJpdHlP
cmlnaW4ucHRyKCksIGlzTG9jYWxTdG9yYWdlKS0+dG9KU09OU3RyaW5nKCk7CisgICAgcmV0dXJu
IEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6c3RvcmFnZUlkKHNlY3VyaXR5T3JpZ2luLnB0cigp
LCBpc0xvY2FsU3RvcmFnZSktPnRvSlNPTlN0cmluZygpOwogfQogCiBSZWZQdHI8SW5zcGVjdG9y
OjpQcm90b2NvbDo6RE9NU3RvcmFnZTo6U3RvcmFnZUlkPiBJbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQ6OnN0b3JhZ2VJZChTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sIGJvb2wgaXNMb2Nh
bFN0b3JhZ2UpCkBAIC0xNjAsMTAgKzE1Myw3IEBAIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29s
OjpET01TdG9yYWdlOjpTdG9yYWdlSWQ+IEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6c3RvCiAK
IHZvaWQgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpkaWREaXNwYXRjaERPTVN0b3JhZ2VFdmVu
dChjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5n
JiBuZXdWYWx1ZSwgU3RvcmFnZVR5cGUgc3RvcmFnZVR5cGUsIFNlY3VyaXR5T3JpZ2luKiBzZWN1
cml0eU9yaWdpbikKIHsKLSAgICBpZiAoIW1fZW5hYmxlZCkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTVN0b3JhZ2U6OlN0b3JhZ2VJZD4gaWQg
PSBzdG9yYWdlSWQoc2VjdXJpdHlPcmlnaW4sIHN0b3JhZ2VUeXBlID09IFN0b3JhZ2VUeXBlOjpM
b2NhbCk7CisgICAgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTVN0b3JhZ2U6OlN0b3Jh
Z2VJZD4gaWQgPSBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OnN0b3JhZ2VJZChzZWN1cml0eU9y
aWdpbiwgc3RvcmFnZVR5cGUgPT0gU3RvcmFnZVR5cGU6OkxvY2FsKTsKIAogICAgIGlmIChrZXku
aXNOdWxsKCkpCiAgICAgICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT5kb21TdG9yYWdlSXRlbXND
bGVhcmVkKGlkKTsKQEAgLTE4OCwxNSArMTc4LDIyIEBAIFJlZlB0cjxTdG9yYWdlQXJlYT4gSW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50OjpmaW5kU3RvcmFnZUFyZWEoRXJyb3JTdHJpbmcmIGVycm9y
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIHRhcmdldEZyYW1lID0gbV9w
YWdlQWdlbnQtPmZpbmRGcmFtZVdpdGhTZWN1cml0eU9yaWdpbihzZWN1cml0eU9yaWdpbik7Cisg
ICAgYXV0byogcGFnZUFnZW50ID0gbV9pbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclBhZ2VB
Z2VudCgpOworICAgIEFTU0VSVChwYWdlQWdlbnQpOworICAgIGlmICghcGFnZUFnZW50KSB7Cisg
ICAgICAgIGVycm9yU3RyaW5nID0gIk1pc3NpbmcgUGFnZSBhZ2VudCJfczsKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgdGFyZ2V0RnJhbWUgPSBwYWdlQWdlbnQtPmZpbmRG
cmFtZVdpdGhTZWN1cml0eU9yaWdpbihzZWN1cml0eU9yaWdpbik7CiAgICAgaWYgKCF0YXJnZXRG
cmFtZSkgewogICAgICAgICBlcnJvclN0cmluZyA9ICJGcmFtZSBub3QgZm91bmQgZm9yIHRoZSBn
aXZlbiBzZWN1cml0eSBvcmlnaW4iX3M7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0K
IAogICAgIGlmICghaXNMb2NhbFN0b3JhZ2UpCi0gICAgICAgIHJldHVybiBtX3BhZ2VBZ2VudC0+
cGFnZSgpLnNlc3Npb25TdG9yYWdlKCktPnN0b3JhZ2VBcmVhKHRhcmdldEZyYW1lLT5kb2N1bWVu
dCgpLT5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSk7Ci0gICAgcmV0dXJuIG1fcGFnZUFnZW50LT5w
YWdlKCkuc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyKCkubG9jYWxTdG9yYWdlQXJlYSgqdGFyZ2V0
RnJhbWUtPmRvY3VtZW50KCkpOworICAgICAgICByZXR1cm4gcGFnZUFnZW50LT5wYWdlKCkuc2Vz
c2lvblN0b3JhZ2UoKS0+c3RvcmFnZUFyZWEodGFyZ2V0RnJhbWUtPmRvY3VtZW50KCktPnNlY3Vy
aXR5T3JpZ2luKCkuZGF0YSgpKTsKKyAgICByZXR1cm4gcGFnZUFnZW50LT5wYWdlKCkuc3RvcmFn
ZU5hbWVzcGFjZVByb3ZpZGVyKCkubG9jYWxTdG9yYWdlQXJlYSgqdGFyZ2V0RnJhbWUtPmRvY3Vt
ZW50KCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaApp
bmRleCAxZGU4NzJlYjk0ZjA2ZTY3NTgzZTRkNGY1ZWZlZTM1OTczYTIyZWNjLi41ZDRmZjYzODZi
ODhhZjMxMTE3YTg2YzQwNTI0MzRhNTA0MmUyMTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgKQEAg
LTQxLDcgKzQxLDYgQEAgY2xhc3MgRE9NU3RvcmFnZUZyb250ZW5kRGlzcGF0Y2hlcjsKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRnJhbWU7Ci1jbGFzcyBJbnNwZWN0b3JQYWdlQWdlbnQ7
CiBjbGFzcyBQYWdlOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBjbGFzcyBTdG9yYWdlOwpAQCAt
NTIsOCArNTEsOCBAQCBjbGFzcyBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQgZmluYWwgOiBwdWJs
aWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdAogICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCk7CiAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6Ci0gICAgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KFdlYkFnZW50Q29u
dGV4dCYsIEluc3BlY3RvclBhZ2VBZ2VudCopOwotICAgIHZpcnR1YWwgfkluc3BlY3RvckRPTVN0
b3JhZ2VBZ2VudCgpOworICAgIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudChXZWJBZ2VudENvbnRl
eHQmKTsKKyAgICB2aXJ0dWFsIH5JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQoKSA9IGRlZmF1bHQ7
CiAKICAgICB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250
ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAg
IHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpEaXNjb25uZWN0
UmVhc29uKSBvdmVycmlkZTsKQEAgLTY2LDggKzY1LDggQEAgcHVibGljOgogICAgIHZvaWQgcmVt
b3ZlRE9NU3RvcmFnZUl0ZW0oRXJyb3JTdHJpbmcmLCBjb25zdCBKU09OOjpPYmplY3QmIHN0b3Jh
Z2VJZCwgY29uc3QgU3RyaW5nJiBrZXkpIG92ZXJyaWRlOwogCiAgICAgLy8gQ2FsbGVkIGZyb20g
dGhlIGluamVjdGVkIHNjcmlwdC4KLSAgICBTdHJpbmcgc3RvcmFnZUlkKFN0b3JhZ2UmKTsKLSAg
ICBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NU3RvcmFnZTo6U3RvcmFnZUlkPiBzdG9y
YWdlSWQoU2VjdXJpdHlPcmlnaW4qLCBib29sIGlzTG9jYWxTdG9yYWdlKTsKKyAgICBzdGF0aWMg
U3RyaW5nIHN0b3JhZ2VJZChTdG9yYWdlJik7CisgICAgc3RhdGljIFJlZlB0cjxJbnNwZWN0b3I6
OlByb3RvY29sOjpET01TdG9yYWdlOjpTdG9yYWdlSWQ+IHN0b3JhZ2VJZChTZWN1cml0eU9yaWdp
biosIGJvb2wgaXNMb2NhbFN0b3JhZ2UpOwogCiAgICAgLy8gSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uCiAgICAgdm9pZCBkaWREaXNwYXRjaERPTVN0b3JhZ2VFdmVudChjb25zdCBTdHJpbmcmIGtl
eSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSwgU3RvcmFn
ZVR5cGUsIFNlY3VyaXR5T3JpZ2luKik7CkBAIC03Nyw5ICs3Niw2IEBAIHByaXZhdGU6CiAKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yOjpET01TdG9yYWdlRnJvbnRlbmREaXNwYXRjaGVy
PiBtX2Zyb250ZW5kRGlzcGF0Y2hlcjsKICAgICBSZWZQdHI8SW5zcGVjdG9yOjpET01TdG9yYWdl
QmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7Ci0gICAgSW5zcGVjdG9yUGFn
ZUFnZW50KiBtX3BhZ2VBZ2VudCB7IG51bGxwdHIgfTsKLQotICAgIGJvb2wgbV9lbmFibGVkIHsg
ZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>