<?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>181205</bug_id>
          
          <creation_ts>2018-01-01 10:16:44 -0800</creation_ts>
          <short_desc>Make MessagePortChannel::takeAllMessagesFromRemote asynchronous</short_desc>
          <delta_ts>2018-01-09 09:10:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>181178</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1385052</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2018-01-01 10:16:44 -0800</bug_when>
    <thetext>Make MessagePortChannel::takeAllMessagesFromRemote asynchronous</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385087</commentid>
    <comment_count>1</comment_count>
      <attachid>330303</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2018-01-01 17:54:42 -0800</bug_when>
    <thetext>Created attachment 330303
Patch

This patch relies on another one currently in the review queue - Won&apos;t submit to EWS until after it lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385248</commentid>
    <comment_count>2</comment_count>
      <attachid>330333</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2018-01-02 14:14:05 -0800</bug_when>
    <thetext>Created attachment 330333
Patch

Will not mark as patch until the patch in 181172 lands</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385262</commentid>
    <comment_count>3</comment_count>
      <attachid>330333</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-01-02 14:47:43 -0800</bug_when>
    <thetext>Comment on attachment 330333
Patch

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

&gt; Source/WebCore/dom/MessagePort.cpp:206
&gt; +    m_entangledChannel-&gt;takeAllMessagesFromRemote([protectedThis = makeRef(*this), this](Deque&lt;std::unique_ptr&lt;MessagePortChannel::EventData&gt;&gt;&amp;&amp; messages) {

I like to capture this first.  I don&apos;t think we&apos;ve discussed this style.  Pun intended.

&gt; Source/WebCore/dom/MessagePortChannel.h:70
&gt; +    virtual void takeAllMessagesFromRemote(WTF::Function&lt;void(Deque&lt;std::unique_ptr&lt;EventData&gt;&gt;&amp;&amp;)&gt;&amp;&amp;) = 0;

We shouldn&apos;t need the WTF:: prefix since r222473.  This could also be a CompletionHandler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385289</commentid>
    <comment_count>4</comment_count>
      <attachid>330346</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2018-01-02 15:44:21 -0800</bug_when>
    <thetext>Created attachment 330346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385313</commentid>
    <comment_count>5</comment_count>
      <attachid>330346</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-02 16:51:04 -0800</bug_when>
    <thetext>Comment on attachment 330346
Patch

Clearing flags on attachment: 330346

Committed r226343: &lt;https://trac.webkit.org/changeset/226343&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387292</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-09 09:10:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/36376756&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>330303</attachid>
            <date>2018-01-01 17:54:42 -0800</date>
            <delta_ts>2018-01-02 14:14:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>pp</filename>
            <type>text/plain</type>
            <size>4385</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9JblByb2Nlc3NNZXNzYWdlUG9ydENoYW5u
ZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0luUHJvY2Vzc01lc3NhZ2VQb3J0Q2hhbm5lbC5j
cHAKaW5kZXggY2NmMjhkOGQ3ZjcuLjYyMzRjOWU4Y2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vSW5Qcm9jZXNzTWVzc2FnZVBvcnRDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vSW5Qcm9jZXNzTWVzc2FnZVBvcnRDaGFubmVsLmNwcApAQCAtNzUsMTAgKzc1LDE1
IEBAIHZvaWQgSW5Qcm9jZXNzTWVzc2FnZVBvcnRDaGFubmVsOjpwb3N0TWVzc2FnZVRvUmVtb3Rl
KFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+CiAgICAgICAgIG1fcmVtb3RlUG9ydC0+bWVzc2Fn
ZUF2YWlsYWJsZSgpOwogfQogCi1EZXF1ZTxzdGQ6OnVuaXF1ZV9wdHI8TWVzc2FnZVBvcnRDaGFu
bmVsOjpFdmVudERhdGE+PiBJblByb2Nlc3NNZXNzYWdlUG9ydENoYW5uZWw6OnRha2VBbGxNZXNz
YWdlc0Zyb21SZW1vdGUoKQordm9pZCBJblByb2Nlc3NNZXNzYWdlUG9ydENoYW5uZWw6OnRha2VB
bGxNZXNzYWdlc0Zyb21SZW1vdGUoV1RGOjpGdW5jdGlvbjx2b2lkKERlcXVlPHN0ZDo6dW5pcXVl
X3B0cjxFdmVudERhdGE+PiYmKT4mJiBjYWxsYmFjaykKIHsKLSAgICBMb2NrZXI8TG9jaz4gbG9j
a2VyKG1fbG9jayk7Ci0gICAgcmV0dXJuIG1faW5jb21pbmdRdWV1ZS0+dGFrZUFsbE1lc3NhZ2Vz
KCk7CisgICAgRGVxdWU8c3RkOjp1bmlxdWVfcHRyPEV2ZW50RGF0YT4+IG1lc3NhZ2VzOworICAg
IHsKKyAgICAgICAgTG9ja2VyPExvY2s+IGxvY2tlcihtX2xvY2spOworICAgICAgICBtZXNzYWdl
cyA9IG1faW5jb21pbmdRdWV1ZS0+dGFrZUFsbE1lc3NhZ2VzKCk7CisgICAgfQorCisgICAgY2Fs
bGJhY2soV1RGTW92ZShtZXNzYWdlcykpOwogfQogCiBib29sIEluUHJvY2Vzc01lc3NhZ2VQb3J0
Q2hhbm5lbDo6aXNDb25uZWN0ZWRUbyhjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImIGlkZW50
aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW5Qcm9jZXNzTWVzc2FnZVBv
cnRDaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vSW5Qcm9jZXNzTWVzc2FnZVBvcnRDaGFu
bmVsLmgKaW5kZXggZmMzNWI2OTVhNGYuLjJmMWEwOGRhYzE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vSW5Qcm9jZXNzTWVzc2FnZVBvcnRDaGFubmVsLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0luUHJvY2Vzc01lc3NhZ2VQb3J0Q2hhbm5lbC5oCkBAIC0zNyw3ICszNyw3IEBA
IHB1YmxpYzoKICAgICB+SW5Qcm9jZXNzTWVzc2FnZVBvcnRDaGFubmVsKCkgZmluYWw7CiAKICAg
ICB2b2lkIHBvc3RNZXNzYWdlVG9SZW1vdGUoUmVmPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiwg
c3RkOjp1bmlxdWVfcHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5PiYmKSBmaW5hbDsKLSAgICBE
ZXF1ZTxzdGQ6OnVuaXF1ZV9wdHI8RXZlbnREYXRhPj4gdGFrZUFsbE1lc3NhZ2VzRnJvbVJlbW90
ZSgpIGZpbmFsOworICAgIHZvaWQgdGFrZUFsbE1lc3NhZ2VzRnJvbVJlbW90ZShXVEY6OkZ1bmN0
aW9uPHZvaWQoRGVxdWU8c3RkOjp1bmlxdWVfcHRyPEV2ZW50RGF0YT4+JiYpPiYmKSBmaW5hbDsK
ICAgICBib29sIGlzQ29ubmVjdGVkVG8oY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJikgZmlu
YWw7CiAgICAgYm9vbCBlbnRhbmdsZVdpdGhSZW1vdGVJZk9wZW4oY29uc3QgTWVzc2FnZVBvcnRJ
ZGVudGlmaWVyJikgZmluYWw7CiAgICAgdm9pZCBkaXNlbnRhbmdsZSgpIGZpbmFsOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9NZXNzYWdlUG9ydC5jcHAKaW5kZXggNTY1N2Q3NTY5YjcuLmFhMjU1YjNlMjUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAKQEAgLTIwMywxNyArMjAzLDE5IEBAIHZvaWQgTWVz
c2FnZVBvcnQ6OmRpc3BhdGNoTWVzc2FnZXMoKQogICAgIGlmICghbV9lbnRhbmdsZWRDaGFubmVs
KQogICAgICAgICByZXR1cm47CiAKLSAgICBib29sIGNvbnRleHRJc1dvcmtlciA9IGlzPFdvcmtl
ckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKLQotICAgIGF1dG8gcGVu
ZGluZ01lc3NhZ2VzID0gbV9lbnRhbmdsZWRDaGFubmVsLT50YWtlQWxsTWVzc2FnZXNGcm9tUmVt
b3RlKCk7Ci0gICAgZm9yIChhdXRvJiBtZXNzYWdlIDogcGVuZGluZ01lc3NhZ2VzKSB7Ci0gICAg
ICAgIC8vIGNsb3NlKCkgaW4gV29ya2VyIG9ubWVzc2FnZSBoYW5kbGVyIHNob3VsZCBwcmV2ZW50
IG5leHQgbWVzc2FnZSBmcm9tIGRpc3BhdGNoaW5nLgotICAgICAgICBpZiAoY29udGV4dElzV29y
a2VyICYmIGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250
ZXh0KS5pc0Nsb3NpbmcoKSkKKyAgICBtX2VudGFuZ2xlZENoYW5uZWwtPnRha2VBbGxNZXNzYWdl
c0Zyb21SZW1vdGUoW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgdGhpc10oRGVxdWU8
c3RkOjp1bmlxdWVfcHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbDo6RXZlbnREYXRhPj4mJiBtZXNzYWdl
cykgeworICAgICAgICBpZiAoIW1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKICAgICAgICAgICAg
IHJldHVybjsKIAotICAgICAgICBhdXRvIHBvcnRzID0gTWVzc2FnZVBvcnQ6OmVudGFuZ2xlUG9y
dHMoKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgV1RGTW92ZShtZXNzYWdlLT5jaGFubmVscykp
OwotICAgICAgICBkaXNwYXRjaEV2ZW50KE1lc3NhZ2VFdmVudDo6Y3JlYXRlKFdURk1vdmUocG9y
dHMpLCBXVEZNb3ZlKG1lc3NhZ2UtPm1lc3NhZ2UpKSk7Ci0gICAgfQorICAgICAgICBib29sIGNv
bnRleHRJc1dvcmtlciA9IGlzPFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25D
b250ZXh0KTsKKyAgICAgICAgZm9yIChhdXRvJiBtZXNzYWdlIDogbWVzc2FnZXMpIHsKKyAgICAg
ICAgICAgIC8vIGNsb3NlKCkgaW4gV29ya2VyIG9ubWVzc2FnZSBoYW5kbGVyIHNob3VsZCBwcmV2
ZW50IG5leHQgbWVzc2FnZSBmcm9tIGRpc3BhdGNoaW5nLgorICAgICAgICAgICAgaWYgKGNvbnRl
eHRJc1dvcmtlciAmJiBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCkuaXNDbG9zaW5nKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICAgICAgYXV0byBwb3J0cyA9IE1lc3NhZ2VQb3J0OjplbnRhbmdsZVBvcnRzKCptX3NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQsIFdURk1vdmUobWVzc2FnZS0+Y2hhbm5lbHMpKTsKKyAgICAgICAgICAg
IGRpc3BhdGNoRXZlbnQoTWVzc2FnZUV2ZW50OjpjcmVhdGUoV1RGTW92ZShwb3J0cyksIFdURk1v
dmUobWVzc2FnZS0+bWVzc2FnZSkpKTsKKyAgICAgICAgfQorICAgIH0pOwogfQogCiBib29sIE1l
c3NhZ2VQb3J0OjpoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01l
c3NhZ2VQb3J0Q2hhbm5lbC5oCmluZGV4IGNkZjAzZjkzMjM5Li44MmVkM2Y1ZDA1ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIHZvaWQgY3JlYXRlQ2hhbm5lbEJldHdlZW5Qb3J0cyhNZXNzYWdlUG9y
dCYsIE1lc3NhZ2VQb3J0Jik7CiAKICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1JlbW90
ZShSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmLCBzdGQ6OnVuaXF1ZV9wdHI8TWVzc2FnZVBv
cnRDaGFubmVsQXJyYXk+JiYpID0gMDsKLSAgICB2aXJ0dWFsIERlcXVlPHN0ZDo6dW5pcXVlX3B0
cjxFdmVudERhdGE+PiB0YWtlQWxsTWVzc2FnZXNGcm9tUmVtb3RlKCkgPSAwOworICAgIHZpcnR1
YWwgdm9pZCB0YWtlQWxsTWVzc2FnZXNGcm9tUmVtb3RlKFdURjo6RnVuY3Rpb248dm9pZChEZXF1
ZTxzdGQ6OnVuaXF1ZV9wdHI8RXZlbnREYXRhPj4mJik+JiYpID0gMDsKICAgICB2aXJ0dWFsIGJv
b2wgaXNDb25uZWN0ZWRUbyhjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImKSA9IDA7CiAgICAg
dmlydHVhbCBib29sIGVudGFuZ2xlV2l0aFJlbW90ZUlmT3Blbihjb25zdCBNZXNzYWdlUG9ydElk
ZW50aWZpZXImKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpc2VudGFuZ2xlKCkgPSAwOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330333</attachid>
            <date>2018-01-02 14:14:05 -0800</date>
            <delta_ts>2018-01-02 14:47:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>pp2</filename>
            <type>text/plain</type>
            <size>5388</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxM2E2NTc1NTk5OS4uNjkxYjQ0NjQzMTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxOC0wMS0wMiAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+
CisKKyAgICAgICAgTWFrZSBNZXNzYWdlUG9ydENoYW5uZWw6OnRha2VBbGxNZXNzYWdlc0Zyb21S
ZW1vdGUgYXN5bmNocm9ub3VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTgxMjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChObyBiZWhhdmlvciBjaGFuZ2UpCisKKyAgICAgICAg
VGhpcyBpcyBuZWVkZWQgZm9yIHRoZSBvbmdvaW5nIFdLMiBNZXNzYWdlUG9ydCB3b3JrLgorCisg
ICAgICAgIEZvciBXSzEgaW4tcHJvY2VzcyBNZXNzYWdlUG9ydHMgaXQgaXMgc3RpbGwgc3luY2hy
b25vdXM7IG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGRvbS9JblByb2Nlc3NNZXNz
YWdlUG9ydENoYW5uZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5Qcm9jZXNzTWVzc2FnZVBv
cnRDaGFubmVsOjp0YWtlQWxsTWVzc2FnZXNGcm9tUmVtb3RlKToKKyAgICAgICAgKiBkb20vSW5Q
cm9jZXNzTWVzc2FnZVBvcnRDaGFubmVsLmg6CisKKyAgICAgICAgKiBkb20vTWVzc2FnZVBvcnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVzc2FnZVBvcnQ6OmRpc3BhdGNoTWVzc2FnZXMpOgor
ICAgICAgICAqIGRvbS9NZXNzYWdlUG9ydENoYW5uZWwuaDoKKwogMjAxOC0wMS0wMiAgT2xla3Nh
bmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KIAogICAgICAgICBXZWJBc3NlbWJs
eTogc2VuZGluZyBtb2R1bGUgdG8gaWZyYW1lIGZhaWxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vSW5Qcm9jZXNzTWVzc2FnZVBvcnRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9JblByb2Nlc3NNZXNzYWdlUG9ydENoYW5uZWwuY3BwCmluZGV4IGNjZjI4ZDhkN2Y3Li42
MjM0YzllOGNkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0luUHJvY2Vzc01lc3Nh
Z2VQb3J0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0luUHJvY2Vzc01lc3Nh
Z2VQb3J0Q2hhbm5lbC5jcHAKQEAgLTc1LDEwICs3NSwxNSBAQCB2b2lkIEluUHJvY2Vzc01lc3Nh
Z2VQb3J0Q2hhbm5lbDo6cG9zdE1lc3NhZ2VUb1JlbW90ZShSZWY8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPgogICAgICAgICBtX3JlbW90ZVBvcnQtPm1lc3NhZ2VBdmFpbGFibGUoKTsKIH0KIAotRGVx
dWU8c3RkOjp1bmlxdWVfcHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbDo6RXZlbnREYXRhPj4gSW5Qcm9j
ZXNzTWVzc2FnZVBvcnRDaGFubmVsOjp0YWtlQWxsTWVzc2FnZXNGcm9tUmVtb3RlKCkKK3ZvaWQg
SW5Qcm9jZXNzTWVzc2FnZVBvcnRDaGFubmVsOjp0YWtlQWxsTWVzc2FnZXNGcm9tUmVtb3RlKFdU
Rjo6RnVuY3Rpb248dm9pZChEZXF1ZTxzdGQ6OnVuaXF1ZV9wdHI8RXZlbnREYXRhPj4mJik+JiYg
Y2FsbGJhY2spCiB7Ci0gICAgTG9ja2VyPExvY2s+IGxvY2tlcihtX2xvY2spOwotICAgIHJldHVy
biBtX2luY29taW5nUXVldWUtPnRha2VBbGxNZXNzYWdlcygpOworICAgIERlcXVlPHN0ZDo6dW5p
cXVlX3B0cjxFdmVudERhdGE+PiBtZXNzYWdlczsKKyAgICB7CisgICAgICAgIExvY2tlcjxMb2Nr
PiBsb2NrZXIobV9sb2NrKTsKKyAgICAgICAgbWVzc2FnZXMgPSBtX2luY29taW5nUXVldWUtPnRh
a2VBbGxNZXNzYWdlcygpOworICAgIH0KKworICAgIGNhbGxiYWNrKFdURk1vdmUobWVzc2FnZXMp
KTsKIH0KIAogYm9vbCBJblByb2Nlc3NNZXNzYWdlUG9ydENoYW5uZWw6OmlzQ29ubmVjdGVkVG8o
Y29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0luUHJvY2Vzc01lc3NhZ2VQb3J0Q2hhbm5lbC5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL0luUHJvY2Vzc01lc3NhZ2VQb3J0Q2hhbm5lbC5oCmluZGV4IGZjMzViNjk1YTRm
Li4yZjFhMDhkYWMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0luUHJvY2Vzc01l
c3NhZ2VQb3J0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9JblByb2Nlc3NNZXNz
YWdlUG9ydENoYW5uZWwuaApAQCAtMzcsNyArMzcsNyBAQCBwdWJsaWM6CiAgICAgfkluUHJvY2Vz
c01lc3NhZ2VQb3J0Q2hhbm5lbCgpIGZpbmFsOwogCiAgICAgdm9pZCBwb3N0TWVzc2FnZVRvUmVt
b3RlKFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYsIHN0ZDo6dW5pcXVlX3B0cjxNZXNzYWdl
UG9ydENoYW5uZWxBcnJheT4mJikgZmluYWw7Ci0gICAgRGVxdWU8c3RkOjp1bmlxdWVfcHRyPEV2
ZW50RGF0YT4+IHRha2VBbGxNZXNzYWdlc0Zyb21SZW1vdGUoKSBmaW5hbDsKKyAgICB2b2lkIHRh
a2VBbGxNZXNzYWdlc0Zyb21SZW1vdGUoV1RGOjpGdW5jdGlvbjx2b2lkKERlcXVlPHN0ZDo6dW5p
cXVlX3B0cjxFdmVudERhdGE+PiYmKT4mJikgZmluYWw7CiAgICAgYm9vbCBpc0Nvbm5lY3RlZFRv
KGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYpIGZpbmFsOwogICAgIGJvb2wgZW50YW5nbGVX
aXRoUmVtb3RlSWZPcGVuKGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYpIGZpbmFsOwogICAg
IHZvaWQgZGlzZW50YW5nbGUoKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9NZXNzYWdlUG9ydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwCmlu
ZGV4IDU2NTdkNzU2OWI3Li5hYTI1NWIzZTI1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL01lc3NhZ2VQb3J0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQu
Y3BwCkBAIC0yMDMsMTcgKzIwMywxOSBAQCB2b2lkIE1lc3NhZ2VQb3J0OjpkaXNwYXRjaE1lc3Nh
Z2VzKCkKICAgICBpZiAoIW1fZW50YW5nbGVkQ2hhbm5lbCkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgYm9vbCBjb250ZXh0SXNXb3JrZXIgPSBpczxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCk7Ci0KLSAgICBhdXRvIHBlbmRpbmdNZXNzYWdlcyA9IG1fZW50YW5n
bGVkQ2hhbm5lbC0+dGFrZUFsbE1lc3NhZ2VzRnJvbVJlbW90ZSgpOwotICAgIGZvciAoYXV0byYg
bWVzc2FnZSA6IHBlbmRpbmdNZXNzYWdlcykgewotICAgICAgICAvLyBjbG9zZSgpIGluIFdvcmtl
ciBvbm1lc3NhZ2UgaGFuZGxlciBzaG91bGQgcHJldmVudCBuZXh0IG1lc3NhZ2UgZnJvbSBkaXNw
YXRjaGluZy4KLSAgICAgICAgaWYgKGNvbnRleHRJc1dvcmtlciAmJiBkb3duY2FzdDxXb3JrZXJH
bG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkuaXNDbG9zaW5nKCkpCisgICAg
bV9lbnRhbmdsZWRDaGFubmVsLT50YWtlQWxsTWVzc2FnZXNGcm9tUmVtb3RlKFtwcm90ZWN0ZWRU
aGlzID0gbWFrZVJlZigqdGhpcyksIHRoaXNdKERlcXVlPHN0ZDo6dW5pcXVlX3B0cjxNZXNzYWdl
UG9ydENoYW5uZWw6OkV2ZW50RGF0YT4+JiYgbWVzc2FnZXMpIHsKKyAgICAgICAgaWYgKCFtX3Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgYXV0
byBwb3J0cyA9IE1lc3NhZ2VQb3J0OjplbnRhbmdsZVBvcnRzKCptX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQsIFdURk1vdmUobWVzc2FnZS0+Y2hhbm5lbHMpKTsKLSAgICAgICAgZGlzcGF0Y2hFdmVu
dChNZXNzYWdlRXZlbnQ6OmNyZWF0ZShXVEZNb3ZlKHBvcnRzKSwgV1RGTW92ZShtZXNzYWdlLT5t
ZXNzYWdlKSkpOwotICAgIH0KKyAgICAgICAgYm9vbCBjb250ZXh0SXNXb3JrZXIgPSBpczxXb3Jr
ZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7CisgICAgICAgIGZvciAo
YXV0byYgbWVzc2FnZSA6IG1lc3NhZ2VzKSB7CisgICAgICAgICAgICAvLyBjbG9zZSgpIGluIFdv
cmtlciBvbm1lc3NhZ2UgaGFuZGxlciBzaG91bGQgcHJldmVudCBuZXh0IG1lc3NhZ2UgZnJvbSBk
aXNwYXRjaGluZy4KKyAgICAgICAgICAgIGlmIChjb250ZXh0SXNXb3JrZXIgJiYgZG93bmNhc3Q8
V29ya2VyR2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpLmlzQ2xvc2luZygp
KQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGF1dG8gcG9ydHMgPSBNZXNz
YWdlUG9ydDo6ZW50YW5nbGVQb3J0cygqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LCBXVEZNb3Zl
KG1lc3NhZ2UtPmNoYW5uZWxzKSk7CisgICAgICAgICAgICBkaXNwYXRjaEV2ZW50KE1lc3NhZ2VF
dmVudDo6Y3JlYXRlKFdURk1vdmUocG9ydHMpLCBXVEZNb3ZlKG1lc3NhZ2UtPm1lc3NhZ2UpKSk7
CisgICAgICAgIH0KKyAgICB9KTsKIH0KIAogYm9vbCBNZXNzYWdlUG9ydDo6aGFzUGVuZGluZ0Fj
dGl2aXR5KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9y
dENoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaAppbmRl
eCBjZGYwM2Y5MzIzOS4uODJlZDNmNWQwNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9NZXNzYWdlUG9ydENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBv
cnRDaGFubmVsLmgKQEAgLTY3LDcgKzY3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGNy
ZWF0ZUNoYW5uZWxCZXR3ZWVuUG9ydHMoTWVzc2FnZVBvcnQmLCBNZXNzYWdlUG9ydCYpOwogCiAg
ICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9SZW1vdGUoUmVmPFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZT4mJiwgc3RkOjp1bmlxdWVfcHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5PiYmKSA9IDA7
Ci0gICAgdmlydHVhbCBEZXF1ZTxzdGQ6OnVuaXF1ZV9wdHI8RXZlbnREYXRhPj4gdGFrZUFsbE1l
c3NhZ2VzRnJvbVJlbW90ZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgdGFrZUFsbE1lc3NhZ2Vz
RnJvbVJlbW90ZShXVEY6OkZ1bmN0aW9uPHZvaWQoRGVxdWU8c3RkOjp1bmlxdWVfcHRyPEV2ZW50
RGF0YT4+JiYpPiYmKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzQ29ubmVjdGVkVG8oY29uc3Qg
TWVzc2FnZVBvcnRJZGVudGlmaWVyJikgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBlbnRhbmdsZVdp
dGhSZW1vdGVJZk9wZW4oY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJikgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBkaXNlbnRhbmdsZSgpID0gMDsK
</data>
<flag name="review"
          id="349359"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330346</attachid>
            <date>2018-01-02 15:44:21 -0800</date>
            <delta_ts>2018-01-02 16:51:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>p1</filename>
            <type>text/plain</type>
            <size>5574</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxM2E2NTc1NTk5OS4uMGUxZmY4M2MyNjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxOC0wMS0wMiAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+
CisKKyAgICAgICAgTWFrZSBNZXNzYWdlUG9ydENoYW5uZWw6OnRha2VBbGxNZXNzYWdlc0Zyb21S
ZW1vdGUgYXN5bmNocm9ub3VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTgxMjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNl
bi4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE5vIGJlaGF2aW9yIGNoYW5nZSkKKworICAgICAg
ICBUaGlzIGlzIG5lZWRlZCBmb3IgdGhlIG9uZ29pbmcgV0syIE1lc3NhZ2VQb3J0IHdvcmsuCisK
KyAgICAgICAgRm9yIFdLMSBpbi1wcm9jZXNzIE1lc3NhZ2VQb3J0cyBpdCBpcyBzdGlsbCBzeW5j
aHJvbm91czsgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogZG9tL0luUHJvY2Vzc01l
c3NhZ2VQb3J0Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJblByb2Nlc3NNZXNzYWdl
UG9ydENoYW5uZWw6OnRha2VBbGxNZXNzYWdlc0Zyb21SZW1vdGUpOgorICAgICAgICAqIGRvbS9J
blByb2Nlc3NNZXNzYWdlUG9ydENoYW5uZWwuaDoKKworICAgICAgICAqIGRvbS9NZXNzYWdlUG9y
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZXNzYWdlUG9ydDo6ZGlzcGF0Y2hNZXNzYWdlcyk6
CisgICAgICAgICogZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oOgorCiAyMDE4LTAxLTAyICBPbGVr
c2FuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21haWwuY29tPgogCiAgICAgICAgIFdlYkFzc2Vt
Ymx5OiBzZW5kaW5nIG1vZHVsZSB0byBpZnJhbWUgZmFpbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9JblByb2Nlc3NNZXNzYWdlUG9ydENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0luUHJvY2Vzc01lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAKaW5kZXggY2NmMjhkOGQ3Zjcu
LjI0NjdmOTQ4NmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW5Qcm9jZXNzTWVz
c2FnZVBvcnRDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vSW5Qcm9jZXNzTWVz
c2FnZVBvcnRDaGFubmVsLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkluUHJvY2Vz
c01lc3NhZ2VQb3J0Q2hhbm5lbC5oIgogCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKKyNpbmNs
dWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvTG9ja2VyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTc1LDEwICs3NiwxNSBAQCB2b2lkIEluUHJvY2Vzc01l
c3NhZ2VQb3J0Q2hhbm5lbDo6cG9zdE1lc3NhZ2VUb1JlbW90ZShSZWY8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPgogICAgICAgICBtX3JlbW90ZVBvcnQtPm1lc3NhZ2VBdmFpbGFibGUoKTsKIH0KIAot
RGVxdWU8c3RkOjp1bmlxdWVfcHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbDo6RXZlbnREYXRhPj4gSW5Q
cm9jZXNzTWVzc2FnZVBvcnRDaGFubmVsOjp0YWtlQWxsTWVzc2FnZXNGcm9tUmVtb3RlKCkKK3Zv
aWQgSW5Qcm9jZXNzTWVzc2FnZVBvcnRDaGFubmVsOjp0YWtlQWxsTWVzc2FnZXNGcm9tUmVtb3Rl
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRGVxdWU8c3RkOjp1bmlxdWVfcHRyPEV2ZW50RGF0YT4+
JiYpPiYmIGNhbGxiYWNrKQogewotICAgIExvY2tlcjxMb2NrPiBsb2NrZXIobV9sb2NrKTsKLSAg
ICByZXR1cm4gbV9pbmNvbWluZ1F1ZXVlLT50YWtlQWxsTWVzc2FnZXMoKTsKKyAgICBEZXF1ZTxz
dGQ6OnVuaXF1ZV9wdHI8RXZlbnREYXRhPj4gbWVzc2FnZXM7CisgICAgeworICAgICAgICBMb2Nr
ZXI8TG9jaz4gbG9ja2VyKG1fbG9jayk7CisgICAgICAgIG1lc3NhZ2VzID0gbV9pbmNvbWluZ1F1
ZXVlLT50YWtlQWxsTWVzc2FnZXMoKTsKKyAgICB9CisKKyAgICBjYWxsYmFjayhXVEZNb3ZlKG1l
c3NhZ2VzKSk7CiB9CiAKIGJvb2wgSW5Qcm9jZXNzTWVzc2FnZVBvcnRDaGFubmVsOjppc0Nvbm5l
Y3RlZFRvKGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgaWRlbnRpZmllcikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9JblByb2Nlc3NNZXNzYWdlUG9ydENoYW5uZWwuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9JblByb2Nlc3NNZXNzYWdlUG9ydENoYW5uZWwuaAppbmRleCBmYzM1
YjY5NWE0Zi4uMTViMDFjZmYxYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9JblBy
b2Nlc3NNZXNzYWdlUG9ydENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vSW5Qcm9j
ZXNzTWVzc2FnZVBvcnRDaGFubmVsLmgKQEAgLTM3LDcgKzM3LDcgQEAgcHVibGljOgogICAgIH5J
blByb2Nlc3NNZXNzYWdlUG9ydENoYW5uZWwoKSBmaW5hbDsKIAogICAgIHZvaWQgcG9zdE1lc3Nh
Z2VUb1JlbW90ZShSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmLCBzdGQ6OnVuaXF1ZV9wdHI8
TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+JiYpIGZpbmFsOwotICAgIERlcXVlPHN0ZDo6dW5pcXVl
X3B0cjxFdmVudERhdGE+PiB0YWtlQWxsTWVzc2FnZXNGcm9tUmVtb3RlKCkgZmluYWw7CisgICAg
dm9pZCB0YWtlQWxsTWVzc2FnZXNGcm9tUmVtb3RlKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRGVx
dWU8c3RkOjp1bmlxdWVfcHRyPEV2ZW50RGF0YT4+JiYpPiYmKSBmaW5hbDsKICAgICBib29sIGlz
Q29ubmVjdGVkVG8oY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJikgZmluYWw7CiAgICAgYm9v
bCBlbnRhbmdsZVdpdGhSZW1vdGVJZk9wZW4oY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJikg
ZmluYWw7CiAgICAgdm9pZCBkaXNlbnRhbmdsZSgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdl
UG9ydC5jcHAKaW5kZXggNTY1N2Q3NTY5YjcuLmIzYzNiNmI4MzkyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9N
ZXNzYWdlUG9ydC5jcHAKQEAgLTIwMywxNyArMjAzLDE5IEBAIHZvaWQgTWVzc2FnZVBvcnQ6OmRp
c3BhdGNoTWVzc2FnZXMoKQogICAgIGlmICghbV9lbnRhbmdsZWRDaGFubmVsKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBib29sIGNvbnRleHRJc1dvcmtlciA9IGlzPFdvcmtlckdsb2JhbFNjb3Bl
PigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKLQotICAgIGF1dG8gcGVuZGluZ01lc3NhZ2Vz
ID0gbV9lbnRhbmdsZWRDaGFubmVsLT50YWtlQWxsTWVzc2FnZXNGcm9tUmVtb3RlKCk7Ci0gICAg
Zm9yIChhdXRvJiBtZXNzYWdlIDogcGVuZGluZ01lc3NhZ2VzKSB7Ci0gICAgICAgIC8vIGNsb3Nl
KCkgaW4gV29ya2VyIG9ubWVzc2FnZSBoYW5kbGVyIHNob3VsZCBwcmV2ZW50IG5leHQgbWVzc2Fn
ZSBmcm9tIGRpc3BhdGNoaW5nLgotICAgICAgICBpZiAoY29udGV4dElzV29ya2VyICYmIGRvd25j
YXN0PFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KS5pc0Nsb3Np
bmcoKSkKKyAgICBtX2VudGFuZ2xlZENoYW5uZWwtPnRha2VBbGxNZXNzYWdlc0Zyb21SZW1vdGUo
W3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0oRGVxdWU8c3RkOjp1bmlxdWVf
cHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbDo6RXZlbnREYXRhPj4mJiBtZXNzYWdlcykgeworICAgICAg
ICBpZiAoIW1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKICAgICAgICAgICAgIHJldHVybjsKIAot
ICAgICAgICBhdXRvIHBvcnRzID0gTWVzc2FnZVBvcnQ6OmVudGFuZ2xlUG9ydHMoKm1fc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCwgV1RGTW92ZShtZXNzYWdlLT5jaGFubmVscykpOwotICAgICAgICBk
aXNwYXRjaEV2ZW50KE1lc3NhZ2VFdmVudDo6Y3JlYXRlKFdURk1vdmUocG9ydHMpLCBXVEZNb3Zl
KG1lc3NhZ2UtPm1lc3NhZ2UpKSk7Ci0gICAgfQorICAgICAgICBib29sIGNvbnRleHRJc1dvcmtl
ciA9IGlzPFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKKyAg
ICAgICAgZm9yIChhdXRvJiBtZXNzYWdlIDogbWVzc2FnZXMpIHsKKyAgICAgICAgICAgIC8vIGNs
b3NlKCkgaW4gV29ya2VyIG9ubWVzc2FnZSBoYW5kbGVyIHNob3VsZCBwcmV2ZW50IG5leHQgbWVz
c2FnZSBmcm9tIGRpc3BhdGNoaW5nLgorICAgICAgICAgICAgaWYgKGNvbnRleHRJc1dvcmtlciAm
JiBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCku
aXNDbG9zaW5nKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgYXV0byBw
b3J0cyA9IE1lc3NhZ2VQb3J0OjplbnRhbmdsZVBvcnRzKCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQsIFdURk1vdmUobWVzc2FnZS0+Y2hhbm5lbHMpKTsKKyAgICAgICAgICAgIGRpc3BhdGNoRXZl
bnQoTWVzc2FnZUV2ZW50OjpjcmVhdGUoV1RGTW92ZShwb3J0cyksIFdURk1vdmUobWVzc2FnZS0+
bWVzc2FnZSkpKTsKKyAgICAgICAgfQorICAgIH0pOwogfQogCiBib29sIE1lc3NhZ2VQb3J0Ojpo
YXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L01lc3NhZ2VQb3J0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hh
bm5lbC5oCmluZGV4IGNkZjAzZjkzMjM5Li4wOGZhMGNiNGY4OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9NZXNzYWdlUG9ydENoYW5uZWwuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIHZvaWQgY3JlYXRlQ2hhbm5lbEJldHdlZW5Qb3J0cyhNZXNzYWdlUG9ydCYsIE1lc3NhZ2VQ
b3J0Jik7CiAKICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1JlbW90ZShSZWY8U2VyaWFs
aXplZFNjcmlwdFZhbHVlPiYmLCBzdGQ6OnVuaXF1ZV9wdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJy
YXk+JiYpID0gMDsKLSAgICB2aXJ0dWFsIERlcXVlPHN0ZDo6dW5pcXVlX3B0cjxFdmVudERhdGE+
PiB0YWtlQWxsTWVzc2FnZXNGcm9tUmVtb3RlKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCB0YWtl
QWxsTWVzc2FnZXNGcm9tUmVtb3RlKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRGVxdWU8c3RkOjp1
bmlxdWVfcHRyPEV2ZW50RGF0YT4+JiYpPiYmKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzQ29u
bmVjdGVkVG8oY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJikgPSAwOwogICAgIHZpcnR1YWwg
Ym9vbCBlbnRhbmdsZVdpdGhSZW1vdGVJZk9wZW4oY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVy
JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaXNlbnRhbmdsZSgpID0gMDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>