<?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>138999</bug_id>
          
          <creation_ts>2014-11-21 21:28:39 -0800</creation_ts>
          <short_desc>Transform StyleBuilderCustom into a class and mark it as a friend of RenderStyle</short_desc>
          <delta_ts>2014-12-01 10:42:32 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>138766</dependson>
          <blocked>138938</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1050690</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-21 21:28:39 -0800</bug_when>
    <thetext>Transform StyleBuilderCustom into a class and mark it as a friend of RenderStyle. This is needed because some of the StyleBuilderCustom functions need to access RenderStyle&apos;s private API.
DeprecatedStyleBuilder and StyleResolver (where the style builder code is coming from) are already marked as friend of RenderStyle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1050691</commentid>
    <comment_count>1</comment_count>
      <attachid>242109</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-21 21:53:27 -0800</bug_when>
    <thetext>Created attachment 242109
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1050745</commentid>
    <comment_count>2</comment_count>
      <attachid>242109</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-22 18:26:58 -0800</bug_when>
    <thetext>Comment on attachment 242109
Patch

Rejecting attachment 242109 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 242109, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
t.org/repository/webkit/trunk ...
Authentication realm: &lt;http://svn.webkit.org:80&gt; Mac OS Forge
Password for &apos;commit-queue@webkit.org&apos;: 
Authentication realm: &lt;http://svn.webkit.org:80&gt; Mac OS Forge
Username: Use of uninitialized value $username in chomp at /usr/share/git-core/perl/Git/SVN/Prompt.pm line 114.
error: git-svn died of signal 11

Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;, &apos;--rmdir&apos;]&quot; exit_code: 139 cwd: /Volumes/Data/EWS/WebKit
Updating OpenSource
Current branch master is up to date.

Full output: http://webkit-queues.appspot.com/results/6106075640102912</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051463</commentid>
    <comment_count>3</comment_count>
      <attachid>242316</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-01 09:45:28 -0800</bug_when>
    <thetext>Created attachment 242316
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051479</commentid>
    <comment_count>4</comment_count>
      <attachid>242316</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-01 10:42:28 -0800</bug_when>
    <thetext>Comment on attachment 242316
Patch

Clearing flags on attachment: 242316

Committed r176593: &lt;http://trac.webkit.org/changeset/176593&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051480</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-01 10:42:32 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242109</attachid>
            <date>2014-11-21 21:53:27 -0800</date>
            <delta_ts>2014-12-01 09:45:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138999-20141121215344.patch</filename>
            <type>text/plain</type>
            <size>21674</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2NDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWY2MTgyYzZkMzJmMDQw
NDYyYWRkNzU1YTgyMzk2NzE5NWE1ZmZhNC4uOGYyZDE5NDM4OTA2NDllNDZlYmMwM2NjMThiNjc2
NWVkN2M2YmU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMwIEBACiAyMDE0LTExLTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgVHJhbnNmb3JtIFN0eWxlQnVp
bGRlckN1c3RvbSBpbnRvIGEgY2xhc3MgYW5kIG1hcmsgaXQgYXMgYSBmcmllbmQgb2YgUmVuZGVy
U3R5bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
ODk5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRy
YW5zZm9ybSBTdHlsZUJ1aWxkZXJDdXN0b20gaW50byBhIGNsYXNzIGFuZCBtYXJrIGl0IGFzIGEg
ZnJpZW5kIG9mCisgICAgICAgIFJlbmRlclN0eWxlLiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHNv
bWUgb2YgdGhlIFN0eWxlQnVpbGRlckN1c3RvbQorICAgICAgICBmdW5jdGlvbnMgbmVlZCB0byBh
Y2Nlc3MgUmVuZGVyU3R5bGUncyBwcml2YXRlIEFQSS4KKworICAgICAgICBObyBuZXcgdGVzdHMs
IG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXJDdXN0b20u
aDoKKyAgICAgICAgICBNb3ZlIGZ1bmN0aW9ucyBmcm9tIFN0eWxlQnVpbGRlckZ1bmN0aW9ucyBu
YW1lc3BhY2UgdG8KKyAgICAgICAgICBTdHlsZUJ1aWxkZXJDdXN0b20gY2xhc3MuCisKKyAgICAg
ICAgKiBjc3MvbWFrZXByb3AucGw6CisgICAgICAgICAgVXNlIFN0eWxlQnVpbGRlckN1c3RvbSBz
Y29wZSBpbnN0ZWFkIG9mIFN0eWxlQnVpbGRlckZ1bmN0aW9ucyBmb3IKKyAgICAgICAgICBjdXN0
b20gaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaDoKKyAgICAgICAgICBNYXJrIFN0eWxlQnVpbGRlckN1c3RvbSBjbGFzcyBhcyBhIGZyaWVu
ZCwgc2ltaWxhcmx5IHRvIHdoYXQgd2FzCisgICAgICAgICAgYWxyZWFkeSBkb25lIGZvciBEZXBy
ZWNhdGVkU3R5bGVCdWlsZGVyIGFuZCBTdHlsZVJlc29sdmVyLgorCisyMDE0LTExLTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgVGhyb3R0bGVkIERPTVRpbWVy
cyBjYW4gcHJldmVudCB0aGVpciBkb2N1bWVudCBmcm9tIGJlaW5nIGdhcmJhZ2UgY29sbGVjdGVk
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg5MTUK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCmluZGV4IGVlYTNlZTNiZjMx
MDMzOTY3YmY4YWJlMDkwNTViNmJjMDQ1NmFjMTIuLmE1YTRlNGM3NTRkMjZlZjgwYWRkYTI5Zjhk
ZTczZDI0YjU0YzdhMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxk
ZXJDdXN0b20uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgK
QEAgLTM4LDkgKzM4LDc3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIE5vdGUgdGhhdCB3
ZSBhc3N1bWUgdGhlIENTUyBwYXJzZXIgb25seSBhbGxvd3MgdmFsaWQgQ1NTVmFsdWUgdHlwZXMu
Ci1uYW1lc3BhY2UgU3R5bGVCdWlsZGVyRnVuY3Rpb25zIHsKK2NsYXNzIFN0eWxlQnVpbGRlckN1
c3RvbSB7CitwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZVdlYmtpdE1hcnF1ZWVJ
bmNyZW1lbnQoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CisKKyAgICBzdGF0aWMgdm9pZCBh
cHBseVZhbHVlRGlyZWN0aW9uKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOworCisgICAgc3Rh
dGljIHZvaWQgYXBwbHlJbml0aWFsWm9vbShTdHlsZVJlc29sdmVyJik7CisgICAgc3RhdGljIHZv
aWQgYXBwbHlJbmhlcml0Wm9vbShTdHlsZVJlc29sdmVyJik7CisgICAgc3RhdGljIHZvaWQgYXBw
bHlWYWx1ZVpvb20oU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CisKKyNpZiBFTkFCTEUoQ1NT
X1NIQVBFUykKKyAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlV2Via2l0U2hhcGVPdXRzaWRlKFN0
eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOworI2VuZGlmIC8vIEVOQUJMRShDU1NfU0hBUEVTKQor
CisgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZVZlcnRpY2FsQWxpZ24oU3R5bGVSZXNvbHZlciYs
IENTU1ZhbHVlJik7CisKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJT04pCisgICAgc3Rh
dGljIHZvaWQgYXBwbHlJbmhlcml0SW1hZ2VSZXNvbHV0aW9uKFN0eWxlUmVzb2x2ZXImKTsKKyAg
ICBzdGF0aWMgdm9pZCBhcHBseUluaXRpYWxJbWFnZVJlc29sdXRpb24oU3R5bGVSZXNvbHZlciYp
OworICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWVJbWFnZVJlc29sdXRpb24oU3R5bGVSZXNvbHZl
ciYsIENTU1ZhbHVlJik7CisjZW5kaWYgLy8gRU5BQkxFKENTU19JTUFHRV9SRVNPTFVUSU9OKQor
CisgICAgc3RhdGljIHZvaWQgYXBwbHlJbmhlcml0U2l6ZShTdHlsZVJlc29sdmVyJik7CisgICAg
c3RhdGljIHZvaWQgYXBwbHlJbml0aWFsU2l6ZShTdHlsZVJlc29sdmVyJik7CisgICAgc3RhdGlj
IHZvaWQgYXBwbHlWYWx1ZVNpemUoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CisKKyAgICBz
dGF0aWMgdm9pZCBhcHBseUluaGVyaXRUZXh0SW5kZW50KFN0eWxlUmVzb2x2ZXImKTsKKyAgICBz
dGF0aWMgdm9pZCBhcHBseUluaXRpYWxUZXh0SW5kZW50KFN0eWxlUmVzb2x2ZXImKTsKKyAgICBz
dGF0aWMgdm9pZCBhcHBseVZhbHVlVGV4dEluZGVudChTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUm
KTsKIAotaW5saW5lIHZvaWQgYXBwbHlWYWx1ZVdlYmtpdE1hcnF1ZWVJbmNyZW1lbnQoU3R5bGVS
ZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQorI2RlZmluZSBERUNMQVJF
X0JPUkRFUl9JTUFHRV9NT0RJRklFUl9IQU5ETEVSKHR5cGUsIG1vZGlmaWVyKSBcCisgICAgc3Rh
dGljIHZvaWQgYXBwbHlJbmhlcml0IyN0eXBlIyNtb2RpZmllcihTdHlsZVJlc29sdmVyJik7IFwK
KyAgICBzdGF0aWMgdm9pZCBhcHBseUluaXRpYWwjI3R5cGUjI21vZGlmaWVyKFN0eWxlUmVzb2x2
ZXImKTsgXAorICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWUjI3R5cGUjI21vZGlmaWVyKFN0eWxl
UmVzb2x2ZXImLCBDU1NWYWx1ZSYpCisKKyAgICBERUNMQVJFX0JPUkRFUl9JTUFHRV9NT0RJRklF
Ul9IQU5ETEVSKEJvcmRlckltYWdlLCBPdXRzZXQpOworICAgIERFQ0xBUkVfQk9SREVSX0lNQUdF
X01PRElGSUVSX0hBTkRMRVIoQm9yZGVySW1hZ2UsIFJlcGVhdCk7CisgICAgREVDTEFSRV9CT1JE
RVJfSU1BR0VfTU9ESUZJRVJfSEFORExFUihCb3JkZXJJbWFnZSwgU2xpY2UpOworICAgIERFQ0xB
UkVfQk9SREVSX0lNQUdFX01PRElGSUVSX0hBTkRMRVIoQm9yZGVySW1hZ2UsIFdpZHRoKTsKKyAg
ICBERUNMQVJFX0JPUkRFUl9JTUFHRV9NT0RJRklFUl9IQU5ETEVSKFdlYmtpdE1hc2tCb3hJbWFn
ZSwgT3V0c2V0KTsKKyAgICBERUNMQVJFX0JPUkRFUl9JTUFHRV9NT0RJRklFUl9IQU5ETEVSKFdl
YmtpdE1hc2tCb3hJbWFnZSwgUmVwZWF0KTsKKyAgICBERUNMQVJFX0JPUkRFUl9JTUFHRV9NT0RJ
RklFUl9IQU5ETEVSKFdlYmtpdE1hc2tCb3hJbWFnZSwgU2xpY2UpOworICAgIERFQ0xBUkVfQk9S
REVSX0lNQUdFX01PRElGSUVSX0hBTkRMRVIoV2Via2l0TWFza0JveEltYWdlLCBXaWR0aCk7CisK
KyAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlV29yZFNwYWNpbmcoU3R5bGVSZXNvbHZlciYsIENT
U1ZhbHVlJik7CisKKyNpZiBFTkFCTEUoSU9TX1RFWFRfQVVUT1NJWklORykKKyAgICBzdGF0aWMg
dm9pZCBhcHBseUluaGVyaXRMaW5lSGVpZ2h0KFN0eWxlUmVzb2x2ZXImKTsKKyAgICBzdGF0aWMg
dm9pZCBhcHBseUluaXRpYWxMaW5lSGVpZ2h0KFN0eWxlUmVzb2x2ZXImKTsKKyNlbmRpZiAvLyBF
TkFCTEUoSU9TX1RFWFRfQVVUT1NJWklORykKKyAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlTGlu
ZUhlaWdodChTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKKworICAgIHN0YXRpYyB2b2lkIGFw
cGx5SW5oZXJpdE91dGxpbmVTdHlsZShTdHlsZVJlc29sdmVyJik7CisgICAgc3RhdGljIHZvaWQg
YXBwbHlJbml0aWFsT3V0bGluZVN0eWxlKFN0eWxlUmVzb2x2ZXImKTsKKyAgICBzdGF0aWMgdm9p
ZCBhcHBseVZhbHVlT3V0bGluZVN0eWxlKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOworCisg
ICAgc3RhdGljIHZvaWQgYXBwbHlJbml0aWFsQ2xpcChTdHlsZVJlc29sdmVyJik7CisgICAgc3Rh
dGljIHZvaWQgYXBwbHlJbmhlcml0Q2xpcChTdHlsZVJlc29sdmVyJik7CisgICAgc3RhdGljIHZv
aWQgYXBwbHlWYWx1ZUNsaXAoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CisKK3ByaXZhdGU6
CisgICAgc3RhdGljIHZvaWQgcmVzZXRFZmZlY3RpdmVab29tKFN0eWxlUmVzb2x2ZXImKTsKKyAg
ICBzdGF0aWMgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjc3N0b0xlbmd0aENvbnZlcnNpb25E
YXRhV2l0aFRleHRab29tRmFjdG9yKFN0eWxlUmVzb2x2ZXImKTsKKyAgICBzdGF0aWMgYm9vbCBj
b252ZXJ0TGluZUhlaWdodChTdHlsZVJlc29sdmVyJiwgY29uc3QgQ1NTVmFsdWUmLCBMZW5ndGgm
LCBmbG9hdCBtdWx0aXBsaWVyID0gMS5mKTsKKworICAgIHN0YXRpYyBMZW5ndGggbW1MZW5ndGgo
ZG91YmxlIG1tKTsKKyAgICBzdGF0aWMgTGVuZ3RoIGluY2hMZW5ndGgoZG91YmxlIGluY2gpOwor
ICAgIHN0YXRpYyBib29sIGdldFBhZ2VTaXplRnJvbU5hbWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHBh
Z2VTaXplTmFtZSwgQ1NTUHJpbWl0aXZlVmFsdWUqIHBhZ2VPcmllbnRhdGlvbiwgTGVuZ3RoJiB3
aWR0aCwgTGVuZ3RoJiBoZWlnaHQpOworfTsKKworaW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3Vz
dG9tOjphcHBseVZhbHVlV2Via2l0TWFycXVlZUluY3JlbWVudChTdHlsZVJlc29sdmVyJiBzdHls
ZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCiB7CiAgICAgYXV0byYgcHJpbWl0aXZlVmFsdWUg
PSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpOwogICAgIExlbmd0aCBtYXJxdWVl
TGVuZ3RoKFVuZGVmaW5lZCk7CkBAIC02NCw3ICsxMzIsNyBAQCBpbmxpbmUgdm9pZCBhcHBseVZh
bHVlV2Via2l0TWFycXVlZUluY3JlbWVudChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBD
U1NWYQogICAgICAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnNldE1hcnF1ZWVJbmNyZW1lbnQo
bWFycXVlZUxlbmd0aCk7CiB9CiAKLWlubGluZSB2b2lkIGFwcGx5VmFsdWVEaXJlY3Rpb24oU3R5
bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQoraW5saW5lIHZvaWQg
U3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlRGlyZWN0aW9uKFN0eWxlUmVzb2x2ZXImIHN0
eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKIHsKICAgICBzdHlsZVJlc29sdmVyLnN0eWxl
KCktPnNldERpcmVjdGlvbihkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpKTsKIApA
QCAtNzMsMjUgKzE0MSwyNSBAQCBpbmxpbmUgdm9pZCBhcHBseVZhbHVlRGlyZWN0aW9uKFN0eWxl
UmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKICAgICAgICAgZWxlbWVu
dC0+ZG9jdW1lbnQoKS5zZXREaXJlY3Rpb25TZXRPbkRvY3VtZW50RWxlbWVudCh0cnVlKTsKIH0K
IAotaW5saW5lIHZvaWQgcmVzZXRFZmZlY3RpdmVab29tKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVz
b2x2ZXIpCitpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OnJlc2V0RWZmZWN0aXZlWm9v
bShTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKQogewogICAgIC8vIFJlc2V0IHRoZSB6b29t
IGluIGVmZmVjdC4gVGhpcyBhbGxvd3MgdGhlIHNldFpvb20gbWV0aG9kIHRvIGFjY3VyYXRlbHkg
Y29tcHV0ZSBhIG5ldyB6b29tIGluIGVmZmVjdC4KICAgICBzdHlsZVJlc29sdmVyLnNldEVmZmVj
dGl2ZVpvb20oc3R5bGVSZXNvbHZlci5wYXJlbnRTdHlsZSgpID8gc3R5bGVSZXNvbHZlci5wYXJl
bnRTdHlsZSgpLT5lZmZlY3RpdmVab29tKCkgOiBSZW5kZXJTdHlsZTo6aW5pdGlhbFpvb20oKSk7
CiB9CiAKLWlubGluZSB2b2lkIGFwcGx5SW5pdGlhbFpvb20oU3R5bGVSZXNvbHZlciYgc3R5bGVS
ZXNvbHZlcikKK2lubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlJbml0aWFsWm9v
bShTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKQogewogICAgIHJlc2V0RWZmZWN0aXZlWm9v
bShzdHlsZVJlc29sdmVyKTsKICAgICBzdHlsZVJlc29sdmVyLnNldFpvb20oUmVuZGVyU3R5bGU6
OmluaXRpYWxab29tKCkpOwogfQogCi1pbmxpbmUgdm9pZCBhcHBseUluaGVyaXRab29tKFN0eWxl
UmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpCitpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206
OmFwcGx5SW5oZXJpdFpvb20oU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKIHsKICAgICBy
ZXNldEVmZmVjdGl2ZVpvb20oc3R5bGVSZXNvbHZlcik7CiAgICAgc3R5bGVSZXNvbHZlci5zZXRa
b29tKHN0eWxlUmVzb2x2ZXIucGFyZW50U3R5bGUoKS0+em9vbSgpKTsKIH0KIAotaW5saW5lIHZv
aWQgYXBwbHlWYWx1ZVpvb20oU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUm
IHZhbHVlKQoraW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlWm9vbShT
dHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCiB7CiAgICAgYXV0
byYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpOwog
CkBAIC0xMTcsNyArMTg1LDcgQEAgaW5saW5lIHZvaWQgYXBwbHlWYWx1ZVpvb20oU3R5bGVSZXNv
bHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQogfQogCiAjaWYgRU5BQkxFKENT
U19TSEFQRVMpCi1pbmxpbmUgdm9pZCBhcHBseVZhbHVlV2Via2l0U2hhcGVPdXRzaWRlKFN0eWxl
UmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKK2lubGluZSB2b2lkIFN0
eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZVdlYmtpdFNoYXBlT3V0c2lkZShTdHlsZVJlc29s
dmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCiB7CiAgICAgaWYgKGlzPENTU1By
aW1pdGl2ZVZhbHVlPih2YWx1ZSkpIHsKICAgICAgICAgLy8gRklYTUU6IFNob3VsZG4ndCB0aGlz
IGJlIENTU1ZhbHVlTm9uZT8KQEAgLTE1MSwxNyArMjE5LDE3IEBAIGlubGluZSB2b2lkIGFwcGx5
VmFsdWVXZWJraXRTaGFwZU91dHNpZGUoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NT
VmFsdWUmCiB9CiAjZW5kaWYgLy8gRU5BQkxFKENTU19TSEFQRVMpCiAKLWlubGluZSBMZW5ndGgg
bW1MZW5ndGgoZG91YmxlIG1tKQoraW5saW5lIExlbmd0aCBTdHlsZUJ1aWxkZXJDdXN0b206Om1t
TGVuZ3RoKGRvdWJsZSBtbSkKIHsKICAgICBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbHVlKENT
U1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUobW0sIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTU0pKTsK
ICAgICByZXR1cm4gdmFsdWUuZ2V0KCkuY29tcHV0ZUxlbmd0aDxMZW5ndGg+KENTU1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGEoKSk7CiB9Ci1pbmxpbmUgTGVuZ3RoIGluY2hMZW5ndGgoZG91YmxlIGlu
Y2gpCitpbmxpbmUgTGVuZ3RoIFN0eWxlQnVpbGRlckN1c3RvbTo6aW5jaExlbmd0aChkb3VibGUg
aW5jaCkKIHsKICAgICBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbHVlKENTU1ByaW1pdGl2ZVZh
bHVlOjpjcmVhdGUoaW5jaCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19JTikpOwogICAgIHJldHVy
biB2YWx1ZS5nZXQoKS5jb21wdXRlTGVuZ3RoPExlbmd0aD4oQ1NTVG9MZW5ndGhDb252ZXJzaW9u
RGF0YSgpKTsKIH0KLXN0YXRpYyBib29sIGdldFBhZ2VTaXplRnJvbU5hbWUoQ1NTUHJpbWl0aXZl
VmFsdWUqIHBhZ2VTaXplTmFtZSwgQ1NTUHJpbWl0aXZlVmFsdWUqIHBhZ2VPcmllbnRhdGlvbiwg
TGVuZ3RoJiB3aWR0aCwgTGVuZ3RoJiBoZWlnaHQpCitib29sIFN0eWxlQnVpbGRlckN1c3RvbTo6
Z2V0UGFnZVNpemVGcm9tTmFtZShDU1NQcmltaXRpdmVWYWx1ZSogcGFnZVNpemVOYW1lLCBDU1NQ
cmltaXRpdmVWYWx1ZSogcGFnZU9yaWVudGF0aW9uLCBMZW5ndGgmIHdpZHRoLCBMZW5ndGgmIGhl
aWdodCkKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8TGVuZ3RoPiBhNVdpZHRoKG1tTGVu
Z3RoKDE0OCkpOwogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxMZW5ndGg+IGE1SGVpZ2h0KG1t
TGVuZ3RoKDIxMCkpOwpAQCAtMjM1LDcgKzMwMyw3IEBAIHN0YXRpYyBib29sIGdldFBhZ2VTaXpl
RnJvbU5hbWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHBhZ2VTaXplTmFtZSwgQ1NTUHJpbWl0aXZlVmFs
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWlubGluZSB2b2lkIGFwcGx5VmFsdWVWZXJ0aWNhbEFs
aWduKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKK2lubGlu
ZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZVZlcnRpY2FsQWxpZ24oU3R5bGVS
ZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQogewogICAgIGF1dG8mIHBy
aW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKTsKICAgICBp
ZiAocHJpbWl0aXZlVmFsdWUuZ2V0VmFsdWVJRCgpKQpAQCAtMjQ1LDIxICszMTMsMjEgQEAgaW5s
aW5lIHZvaWQgYXBwbHlWYWx1ZVZlcnRpY2FsQWxpZ24oU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNv
bHZlciwgQ1NTVmFsdWUmIHZhbHUKIH0KIAogI2lmIEVOQUJMRShDU1NfSU1BR0VfUkVTT0xVVElP
TikKLWlubGluZSB2b2lkIGFwcGx5SW5oZXJpdEltYWdlUmVzb2x1dGlvbihTdHlsZVJlc29sdmVy
JiBzdHlsZVJlc29sdmVyKQoraW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseUlu
aGVyaXRJbWFnZVJlc29sdXRpb24oU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKIHsKICAg
ICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnNldEltYWdlUmVzb2x1dGlvblNvdXJjZShzdHlsZVJl
c29sdmVyLnBhcmVudFN0eWxlKCktPmltYWdlUmVzb2x1dGlvblNvdXJjZSgpKTsKICAgICBzdHls
ZVJlc29sdmVyLnN0eWxlKCktPnNldEltYWdlUmVzb2x1dGlvblNuYXAoc3R5bGVSZXNvbHZlci5w
YXJlbnRTdHlsZSgpLT5pbWFnZVJlc29sdXRpb25TbmFwKCkpOwogICAgIHN0eWxlUmVzb2x2ZXIu
c3R5bGUoKS0+c2V0SW1hZ2VSZXNvbHV0aW9uKHN0eWxlUmVzb2x2ZXIucGFyZW50U3R5bGUoKS0+
aW1hZ2VSZXNvbHV0aW9uKCkpOwogfQogCi1pbmxpbmUgdm9pZCBhcHBseUluaXRpYWxJbWFnZVJl
c29sdXRpb24oU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKK2lubGluZSB2b2lkIFN0eWxl
QnVpbGRlckN1c3RvbTo6YXBwbHlJbml0aWFsSW1hZ2VSZXNvbHV0aW9uKFN0eWxlUmVzb2x2ZXIm
IHN0eWxlUmVzb2x2ZXIpCiB7CiAgICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRJbWFnZVJl
c29sdXRpb25Tb3VyY2UoUmVuZGVyU3R5bGU6OmluaXRpYWxJbWFnZVJlc29sdXRpb25Tb3VyY2Uo
KSk7CiAgICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRJbWFnZVJlc29sdXRpb25TbmFwKFJl
bmRlclN0eWxlOjppbml0aWFsSW1hZ2VSZXNvbHV0aW9uU25hcCgpKTsKICAgICBzdHlsZVJlc29s
dmVyLnN0eWxlKCktPnNldEltYWdlUmVzb2x1dGlvbihSZW5kZXJTdHlsZTo6aW5pdGlhbEltYWdl
UmVzb2x1dGlvbigpKTsKIH0KIAotaW5saW5lIHZvaWQgYXBwbHlWYWx1ZUltYWdlUmVzb2x1dGlv
bihTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCitpbmxpbmUg
dm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVJbWFnZVJlc29sdXRpb24oU3R5bGVS
ZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQogewogICAgIEltYWdlUmVz
b2x1dGlvblNvdXJjZSBzb3VyY2UgPSBSZW5kZXJTdHlsZTo6aW5pdGlhbEltYWdlUmVzb2x1dGlv
blNvdXJjZSgpOwogICAgIEltYWdlUmVzb2x1dGlvblNuYXAgc25hcCA9IFJlbmRlclN0eWxlOjpp
bml0aWFsSW1hZ2VSZXNvbHV0aW9uU25hcCgpOwpAQCAtMjc5LDkgKzM0Nyw5IEBAIGlubGluZSB2
b2lkIGFwcGx5VmFsdWVJbWFnZVJlc29sdXRpb24oU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZl
ciwgQ1NTVmFsdWUmIHZhCiB9CiAjZW5kaWYgLy8gRU5BQkxFKENTU19JTUFHRV9SRVNPTFVUSU9O
KQogCi1pbmxpbmUgdm9pZCBhcHBseUluaGVyaXRTaXplKFN0eWxlUmVzb2x2ZXImKSB7IH0KLWlu
bGluZSB2b2lkIGFwcGx5SW5pdGlhbFNpemUoU3R5bGVSZXNvbHZlciYpIHsgfQotaW5saW5lIHZv
aWQgYXBwbHlWYWx1ZVNpemUoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUm
IHZhbHVlKQoraW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseUluaGVyaXRTaXpl
KFN0eWxlUmVzb2x2ZXImKSB7IH0KK2lubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBw
bHlJbml0aWFsU2l6ZShTdHlsZVJlc29sdmVyJikgeyB9CitpbmxpbmUgdm9pZCBTdHlsZUJ1aWxk
ZXJDdXN0b206OmFwcGx5VmFsdWVTaXplKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENT
U1ZhbHVlJiB2YWx1ZSkKIHsKICAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnJlc2V0UGFnZVNp
emVUeXBlKCk7CiAgICAgTGVuZ3RoIHdpZHRoOwpAQCAtMzU1LDcgKzQyMyw3IEBAIGlubGluZSB2
b2lkIGFwcGx5VmFsdWVTaXplKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVl
JiB2YWx1ZSkKICAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnNldFBhZ2VTaXplKExlbmd0aFNp
emUod2lkdGgsIGhlaWdodCkpOwogfQogCi1pbmxpbmUgdm9pZCBhcHBseUluaGVyaXRUZXh0SW5k
ZW50KFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpCitpbmxpbmUgdm9pZCBTdHlsZUJ1aWxk
ZXJDdXN0b206OmFwcGx5SW5oZXJpdFRleHRJbmRlbnQoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNv
bHZlcikKIHsKICAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnNldFRleHRJbmRlbnQoc3R5bGVS
ZXNvbHZlci5wYXJlbnRTdHlsZSgpLT50ZXh0SW5kZW50KCkpOwogI2lmIEVOQUJMRShDU1MzX1RF
WFQpCkBAIC0zNjQsNyArNDMyLDcgQEAgaW5saW5lIHZvaWQgYXBwbHlJbmhlcml0VGV4dEluZGVu
dChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKQogI2VuZGlmCiB9CiAKLWlubGluZSB2b2lk
IGFwcGx5SW5pdGlhbFRleHRJbmRlbnQoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKK2lu
bGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlJbml0aWFsVGV4dEluZGVudChTdHls
ZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKQogewogICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+
c2V0VGV4dEluZGVudChSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRJbmRlbnQoKSk7CiAjaWYgRU5B
QkxFKENTUzNfVEVYVCkKQEAgLTM3Myw3ICs0NDEsNyBAQCBpbmxpbmUgdm9pZCBhcHBseUluaXRp
YWxUZXh0SW5kZW50KFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpCiAjZW5kaWYKIH0KIAot
aW5saW5lIHZvaWQgYXBwbHlWYWx1ZVRleHRJbmRlbnQoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNv
bHZlciwgQ1NTVmFsdWUmIHZhbHVlKQoraW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjph
cHBseVZhbHVlVGV4dEluZGVudChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1
ZSYgdmFsdWUpCiB7CiAgICAgTGVuZ3RoIGxlbmd0aE9yUGVyY2VudGFnZVZhbHVlOwogI2lmIEVO
QUJMRShDU1MzX1RFWFQpCkBAIC00NzAsMjcgKzUzOCwyNyBAQCBwdWJsaWM6CiAgICAgfQogCiBw
cml2YXRlOgotICAgIHN0YXRpYyBpbmxpbmUgY29uc3QgTmluZVBpZWNlSW1hZ2UmIGdldFZhbHVl
KFJlbmRlclN0eWxlKiBzdHlsZSkKKyAgICBzdGF0aWMgY29uc3QgTmluZVBpZWNlSW1hZ2UmIGdl
dFZhbHVlKFJlbmRlclN0eWxlKiBzdHlsZSkKICAgICB7CiAgICAgICAgIHJldHVybiB0eXBlID09
IEJvcmRlckltYWdlID8gc3R5bGUtPmJvcmRlckltYWdlKCkgOiBzdHlsZS0+bWFza0JveEltYWdl
KCk7CiAgICAgfQogCi0gICAgc3RhdGljIGlubGluZSB2b2lkIHNldFZhbHVlKFJlbmRlclN0eWxl
KiBzdHlsZSwgY29uc3QgTmluZVBpZWNlSW1hZ2UmIHZhbHVlKQorICAgIHN0YXRpYyB2b2lkIHNl
dFZhbHVlKFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgTmluZVBpZWNlSW1hZ2UmIHZhbHVlKQog
ICAgIHsKICAgICAgICAgcmV0dXJuIHR5cGUgPT0gQm9yZGVySW1hZ2UgPyBzdHlsZS0+c2V0Qm9y
ZGVySW1hZ2UodmFsdWUpIDogc3R5bGUtPnNldE1hc2tCb3hJbWFnZSh2YWx1ZSk7CiAgICAgfQog
fTsKIAogI2RlZmluZSBERUZJTkVfQk9SREVSX0lNQUdFX01PRElGSUVSX0hBTkRMRVIodHlwZSwg
bW9kaWZpZXIpIFwKLWlubGluZSB2b2lkIGFwcGx5SW5oZXJpdCMjdHlwZSMjbW9kaWZpZXIoU3R5
bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikgXAoraW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3Vz
dG9tOjphcHBseUluaGVyaXQjI3R5cGUjI21vZGlmaWVyKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVz
b2x2ZXIpIFwKIHsgXAogICAgIEFwcGx5UHJvcGVydHlCb3JkZXJJbWFnZU1vZGlmaWVyPHR5cGUs
IG1vZGlmaWVyPjo6YXBwbHlJbmhlcml0VmFsdWUoc3R5bGVSZXNvbHZlcik7IFwKIH0gXAotaW5s
aW5lIHZvaWQgYXBwbHlJbml0aWFsIyN0eXBlIyNtb2RpZmllcihTdHlsZVJlc29sdmVyJiBzdHls
ZVJlc29sdmVyKSBcCitpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlh
bCMjdHlwZSMjbW9kaWZpZXIoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikgXAogeyBcCiAg
ICAgQXBwbHlQcm9wZXJ0eUJvcmRlckltYWdlTW9kaWZpZXI8dHlwZSwgbW9kaWZpZXI+OjphcHBs
eUluaXRpYWxWYWx1ZShzdHlsZVJlc29sdmVyKTsgXAogfSBcCi1pbmxpbmUgdm9pZCBhcHBseVZh
bHVlIyN0eXBlIyNtb2RpZmllcihTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1
ZSYgdmFsdWUpIFwKK2lubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZSMj
dHlwZSMjbW9kaWZpZXIoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZh
bHVlKSBcCiB7IFwKICAgICBBcHBseVByb3BlcnR5Qm9yZGVySW1hZ2VNb2RpZmllcjx0eXBlLCBt
b2RpZmllcj46OmFwcGx5VmFsdWUoc3R5bGVSZXNvbHZlciwgdmFsdWUpOyBcCiB9CkBAIC01MDQs
NyArNTcyLDcgQEAgREVGSU5FX0JPUkRFUl9JTUFHRV9NT0RJRklFUl9IQU5ETEVSKFdlYmtpdE1h
c2tCb3hJbWFnZSwgUmVwZWF0KQogREVGSU5FX0JPUkRFUl9JTUFHRV9NT0RJRklFUl9IQU5ETEVS
KFdlYmtpdE1hc2tCb3hJbWFnZSwgU2xpY2UpCiBERUZJTkVfQk9SREVSX0lNQUdFX01PRElGSUVS
X0hBTkRMRVIoV2Via2l0TWFza0JveEltYWdlLCBXaWR0aCkKIAotaW5saW5lIENTU1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGEgY3NzdG9MZW5ndGhDb252ZXJzaW9uRGF0YVdpdGhUZXh0Wm9vbUZhY3Rv
cihTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKQoraW5saW5lIENTU1RvTGVuZ3RoQ29udmVy
c2lvbkRhdGEgU3R5bGVCdWlsZGVyQ3VzdG9tOjpjc3N0b0xlbmd0aENvbnZlcnNpb25EYXRhV2l0
aFRleHRab29tRmFjdG9yKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpCiB7CiAgICAgaWYg
KEZyYW1lKiBmcmFtZSA9IHN0eWxlUmVzb2x2ZXIuZG9jdW1lbnQoKS5mcmFtZSgpKQogICAgICAg
ICByZXR1cm4gc3R5bGVSZXNvbHZlci5zdGF0ZSgpLmNzc1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEo
KS5jb3B5V2l0aEFkanVzdGVkWm9vbShzdHlsZVJlc29sdmVyLnN0eWxlKCktPmVmZmVjdGl2ZVpv
b20oKSAqIGZyYW1lLT50ZXh0Wm9vbUZhY3RvcigpKTsKQEAgLTUxMiw3ICs1ODAsNyBAQCBpbmxp
bmUgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjc3N0b0xlbmd0aENvbnZlcnNpb25EYXRhV2l0
aFRleHRab29tRmFjdG9yKFN0eQogICAgIHJldHVybiBzdHlsZVJlc29sdmVyLnN0YXRlKCkuY3Nz
VG9MZW5ndGhDb252ZXJzaW9uRGF0YSgpOwogfQogCi1pbmxpbmUgYm9vbCBjb252ZXJ0TGluZUhl
aWdodChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBjb25zdCBDU1NWYWx1ZSYgdmFsdWUs
IExlbmd0aCYgbGVuZ3RoLCBmbG9hdCBtdWx0aXBsaWVyID0gMS5mKQoraW5saW5lIGJvb2wgU3R5
bGVCdWlsZGVyQ3VzdG9tOjpjb252ZXJ0TGluZUhlaWdodChTdHlsZVJlc29sdmVyJiBzdHlsZVJl
c29sdmVyLCBjb25zdCBDU1NWYWx1ZSYgdmFsdWUsIExlbmd0aCYgbGVuZ3RoLCBmbG9hdCBtdWx0
aXBsaWVyKQogewogICAgIGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0
aXZlVmFsdWU+KHZhbHVlKTsKICAgICBpZiAocHJpbWl0aXZlVmFsdWUuZ2V0VmFsdWVJRCgpID09
IENTU1ZhbHVlTm9ybWFsKSB7CkBAIC01MzgsNyArNjA2LDcgQEAgaW5saW5lIGJvb2wgY29udmVy
dExpbmVIZWlnaHQoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgY29uc3QgQ1NTVmFsdWUm
IHZhbHUKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWlubGluZSB2b2lkIGFwcGx5VmFsdWVXb3Jk
U3BhY2luZyhTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCitp
bmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVXb3JkU3BhY2luZyhTdHls
ZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCiB7CiAgICAgYXV0byYg
cHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpOwogCkBA
IC01NTgsMTkgKzYyNiwxOSBAQCBpbmxpbmUgdm9pZCBhcHBseVZhbHVlV29yZFNwYWNpbmcoU3R5
bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQogCiAjaWYgRU5BQkxF
KElPU19URVhUX0FVVE9TSVpJTkcpCiAKLWlubGluZSB2b2lkIGFwcGx5SW5oZXJpdExpbmVIZWln
aHQoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKK2lubGluZSB2b2lkIFN0eWxlQnVpbGRl
ckN1c3RvbTo6YXBwbHlJbmhlcml0TGluZUhlaWdodChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29s
dmVyKQogewogICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0TGluZUhlaWdodChzdHlsZVJl
c29sdmVyLnBhcmVudFN0eWxlKCktPmxpbmVIZWlnaHQoKSk7CiAgICAgc3R5bGVSZXNvbHZlci5z
dHlsZSgpLT5zZXRTcGVjaWZpZWRMaW5lSGVpZ2h0KHN0eWxlUmVzb2x2ZXIucGFyZW50U3R5bGUo
KS0+c3BlY2lmaWVkTGluZUhlaWdodCgpKTsKIH0KIAotaW5saW5lIHZvaWQgYXBwbHlJbml0aWFs
TGluZUhlaWdodChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKQoraW5saW5lIHZvaWQgU3R5
bGVCdWlsZGVyQ3VzdG9tOjphcHBseUluaXRpYWxMaW5lSGVpZ2h0KFN0eWxlUmVzb2x2ZXImIHN0
eWxlUmVzb2x2ZXIpCiB7CiAgICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRMaW5lSGVpZ2h0
KFJlbmRlclN0eWxlOjppbml0aWFsTGluZUhlaWdodCgpKTsKICAgICBzdHlsZVJlc29sdmVyLnN0
eWxlKCktPnNldFNwZWNpZmllZExpbmVIZWlnaHQoUmVuZGVyU3R5bGU6OmluaXRpYWxTcGVjaWZp
ZWRMaW5lSGVpZ2h0KCkpOwogfQogCi1pbmxpbmUgdm9pZCBhcHBseVZhbHVlTGluZUhlaWdodChT
dHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCitpbmxpbmUgdm9p
ZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVMaW5lSGVpZ2h0KFN0eWxlUmVzb2x2ZXIm
IHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKIHsKICAgICBMZW5ndGggbGluZUhlaWdo
dDsKICAgICBmbG9hdCBtdWx0aXBsaWVyID0gc3R5bGVSZXNvbHZlci5zdHlsZSgpLT50ZXh0U2l6
ZUFkanVzdCgpLmlzUGVyY2VudGFnZSgpID8gc3R5bGVSZXNvbHZlci5zdHlsZSgpLT50ZXh0U2l6
ZUFkanVzdCgpLm11bHRpcGxpZXIoKSA6IDEuZjsKQEAgLTU4Myw3ICs2NTEsNyBAQCBpbmxpbmUg
dm9pZCBhcHBseVZhbHVlTGluZUhlaWdodChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBD
U1NWYWx1ZSYgdmFsdWUpCiAKICNlbHNlCiAKLWlubGluZSB2b2lkIGFwcGx5VmFsdWVMaW5lSGVp
Z2h0KFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKK2lubGlu
ZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUxpbmVIZWlnaHQoU3R5bGVSZXNv
bHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQogewogICAgIExlbmd0aCBsaW5l
SGVpZ2h0OwogICAgIGlmICghY29udmVydExpbmVIZWlnaHQoc3R5bGVSZXNvbHZlciwgdmFsdWUs
IGxpbmVIZWlnaHQpKQpAQCAtNTk0LDE5ICs2NjIsMTkgQEAgaW5saW5lIHZvaWQgYXBwbHlWYWx1
ZUxpbmVIZWlnaHQoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVl
KQogCiAjZW5kaWYKIAotaW5saW5lIHZvaWQgYXBwbHlJbmhlcml0T3V0bGluZVN0eWxlKFN0eWxl
UmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpCitpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206
OmFwcGx5SW5oZXJpdE91dGxpbmVTdHlsZShTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKQog
ewogICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0T3V0bGluZVN0eWxlSXNBdXRvKHN0eWxl
UmVzb2x2ZXIucGFyZW50U3R5bGUoKS0+b3V0bGluZVN0eWxlSXNBdXRvKCkpOwogICAgIHN0eWxl
UmVzb2x2ZXIuc3R5bGUoKS0+c2V0T3V0bGluZVN0eWxlKHN0eWxlUmVzb2x2ZXIucGFyZW50U3R5
bGUoKS0+b3V0bGluZVN0eWxlKCkpOwogfQogCi1pbmxpbmUgdm9pZCBhcHBseUluaXRpYWxPdXRs
aW5lU3R5bGUoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKK2lubGluZSB2b2lkIFN0eWxl
QnVpbGRlckN1c3RvbTo6YXBwbHlJbml0aWFsT3V0bGluZVN0eWxlKFN0eWxlUmVzb2x2ZXImIHN0
eWxlUmVzb2x2ZXIpCiB7CiAgICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRPdXRsaW5lU3R5
bGVJc0F1dG8oUmVuZGVyU3R5bGU6OmluaXRpYWxPdXRsaW5lU3R5bGVJc0F1dG8oKSk7CiAgICAg
c3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRPdXRsaW5lU3R5bGUoUmVuZGVyU3R5bGU6OmluaXRp
YWxCb3JkZXJTdHlsZSgpKTsKIH0KIAotaW5saW5lIHZvaWQgYXBwbHlWYWx1ZU91dGxpbmVTdHls
ZShTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCitpbmxpbmUg
dm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVPdXRsaW5lU3R5bGUoU3R5bGVSZXNv
bHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQogewogICAgIGF1dG8mIHByaW1p
dGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKTsKIApAQCAtNjE0
LDEzICs2ODIsMTMgQEAgaW5saW5lIHZvaWQgYXBwbHlWYWx1ZU91dGxpbmVTdHlsZShTdHlsZVJl
c29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUKICAgICBzdHlsZVJlc29sdmVy
LnN0eWxlKCktPnNldE91dGxpbmVTdHlsZShwcmltaXRpdmVWYWx1ZSk7CiB9CiAKLWlubGluZSB2
b2lkIGFwcGx5SW5pdGlhbENsaXAoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKK2lubGlu
ZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlJbml0aWFsQ2xpcChTdHlsZVJlc29sdmVy
JiBzdHlsZVJlc29sdmVyKQogewogICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0Q2xpcChM
ZW5ndGgoKSwgTGVuZ3RoKCksIExlbmd0aCgpLCBMZW5ndGgoKSk7CiAgICAgc3R5bGVSZXNvbHZl
ci5zdHlsZSgpLT5zZXRIYXNDbGlwKGZhbHNlKTsKIH0KIAotaW5saW5lIHZvaWQgYXBwbHlJbmhl
cml0Q2xpcChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKQoraW5saW5lIHZvaWQgU3R5bGVC
dWlsZGVyQ3VzdG9tOjphcHBseUluaGVyaXRDbGlwKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2
ZXIpCiB7CiAgICAgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlID0gc3R5bGVSZXNvbHZlci5wYXJl
bnRTdHlsZSgpOwogICAgIGlmICghcGFyZW50U3R5bGUtPmhhc0NsaXAoKSkKQEAgLTYyOSw3ICs2
OTcsNyBAQCBpbmxpbmUgdm9pZCBhcHBseUluaGVyaXRDbGlwKFN0eWxlUmVzb2x2ZXImIHN0eWxl
UmVzb2x2ZXIpCiAgICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRIYXNDbGlwKHRydWUpOwog
fQogCi1pbmxpbmUgdm9pZCBhcHBseVZhbHVlQ2xpcChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29s
dmVyLCBDU1NWYWx1ZSYgdmFsdWUpCitpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFw
cGx5VmFsdWVDbGlwKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1
ZSkKIHsKICAgICBhdXRvJiBwcmltaXRpdmVWYWx1ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZh
bHVlPih2YWx1ZSk7CiAKQEAgLTY0Nyw4ICs3MTUsNiBAQCBpbmxpbmUgdm9pZCBhcHBseVZhbHVl
Q2xpcChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCiAgICAg
fQogfQogCi19IC8vIG5hbWVzcGFjZSBTdHlsZUJ1aWxkZXJGdW5jdGlvbnMKLQogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gU3R5bGVCdWlsZGVyQ3VzdG9tX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9t
YWtlcHJvcC5wbAppbmRleCAzNDFjZWY0ODcxMzI2Nzk3OTE3N2U5MzU4Njk3Y2U1OTMyYjI1ZmRi
Li5hMWQyOWQ0ODEyZjcxMDBkYTM1NjNkMjhmNWMwMGRiNDNmMjJiNzcyIDEwMDc1NQotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21h
a2Vwcm9wLnBsCkBAIC00MTcsMTMgKzQxNywxNiBAQCBmb3JlYWNoIG15ICRuYW1lIChAbmFtZXMp
IHsKICAgIyBTa2lwIHByb3BlcnRpZXMgc3RpbGwgdXNpbmcgdGhlIGxlZ2FjeSBzdHlsZSBidWls
ZGVyLgogICBuZXh0IHVubGVzcyBleGlzdHMoJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0
aW9uc3skbmFtZX0pOwogCisgIG15ICRzY29wZSA9ICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRl
ck9wdGlvbnN7JG5hbWV9eyJDdXN0b20ifSBlcSAiQWxsIiA/ICJTdHlsZUJ1aWxkZXJDdXN0b20i
IDogIlN0eWxlQnVpbGRlckZ1bmN0aW9ucyI7CisgIG15ICR2YWx1ZVNjb3BlID0gJHByb3BlcnRp
ZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IkN1c3RvbSJ9IGVxICJWYWx1ZSIgPyAi
U3R5bGVCdWlsZGVyQ3VzdG9tIiA6ICRzY29wZTsKKwogICBwcmludCBTVFlMRUJVSUxERVIgIiAg
ICBjYXNlIENTU1Byb3BlcnR5IiAuICRuYW1lVG9JZHskbmFtZX0gLiAiOlxuIjsKICAgcHJpbnQg
U1RZTEVCVUlMREVSICIgICAgICAgIGlmIChpc0luaXRpYWwpXG4iOwotICBwcmludCBTVFlMRUJV
SUxERVIgIiAgICAgICAgICAgIFN0eWxlQnVpbGRlckZ1bmN0aW9uczo6YXBwbHlJbml0aWFsIiAu
ICRuYW1lVG9JZHskbmFtZX0gLiAiKHN0eWxlUmVzb2x2ZXIpO1xuIjsKKyAgcHJpbnQgU1RZTEVC
VUlMREVSICIgICAgICAgICAgICAiIC4gJHNjb3BlIC4gIjo6YXBwbHlJbml0aWFsIiAuICRuYW1l
VG9JZHskbmFtZX0gLiAiKHN0eWxlUmVzb2x2ZXIpO1xuIjsKICAgcHJpbnQgU1RZTEVCVUlMREVS
ICIgICAgICAgIGVsc2UgaWYgKGlzSW5oZXJpdClcbiI7Ci0gIHByaW50IFNUWUxFQlVJTERFUiAi
ICAgICAgICAgICAgU3R5bGVCdWlsZGVyRnVuY3Rpb25zOjphcHBseUluaGVyaXQiIC4gJG5hbWVU
b0lkeyRuYW1lfSAuICIoc3R5bGVSZXNvbHZlcik7XG4iOworICBwcmludCBTVFlMRUJVSUxERVIg
IiAgICAgICAgICAgICIgLiAkc2NvcGUgLiAiOjphcHBseUluaGVyaXQiIC4gJG5hbWVUb0lkeyRu
YW1lfSAuICIoc3R5bGVSZXNvbHZlcik7XG4iOwogICBwcmludCBTVFlMRUJVSUxERVIgIiAgICAg
ICAgZWxzZVxuIjsKLSAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgICAgICAgICBTdHlsZUJ1aWxk
ZXJGdW5jdGlvbnM6OmFwcGx5VmFsdWUiIC4gJG5hbWVUb0lkeyRuYW1lfSAuICIoc3R5bGVSZXNv
bHZlciwgdmFsdWUpO1xuIjsKKyAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgICAgICAgICAiIC4g
JHZhbHVlU2NvcGUgLiAiOjphcHBseVZhbHVlIiAuICRuYW1lVG9JZHskbmFtZX0gLiAiKHN0eWxl
UmVzb2x2ZXIsIHZhbHVlKTtcbiI7CiAgIHByaW50IFNUWUxFQlVJTERFUiAiICAgICAgICByZXR1
cm4gdHJ1ZTtcbiI7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKaW5kZXggOTc4YjdlNDQ0ZDI0NjI2ODdhOWRkYmYwYWQzZDlmOTQ0NzNkMTNlMi4u
ZGFkYTQxNzVkNGUzMTZjMTU3MDZmM2ZmYmM0N2I3Y2E1NzU5ZGM0YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTEyOCw2ICsxMjgsNyBAQCBj
bGFzcyBSZW5kZXJTdHlsZTogcHVibGljIFJlZkNvdW50ZWQ8UmVuZGVyU3R5bGU+IHsKICAgICBm
cmllbmQgY2xhc3MgUHJvcGVydHlXcmFwcGVyTWF5YmVJbnZhbGlkQ29sb3I7IC8vIFVzZWQgYnkg
Q1NTIGFuaW1hdGlvbnMuIFdlIGNhbid0IGFsbG93IHRoZW0gdG8gYW5pbWF0ZSBiYXNlZCBvZmYg
dmlzaXRlZCBjb2xvcnMuCiAgICAgZnJpZW5kIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlOyAvLyBG
SVhNRTogTmVlZHMgdG8gYWx0ZXIgdGhlIHZpc2l0ZWQgc3RhdGUgYnkgaGFuZC4gU2hvdWxkIGNs
ZWFuIHRoZSBTVkcgY29kZSB1cCBhbmQgbW92ZSBpdCBpbnRvIFJlbmRlclN0eWxlIHBlcmhhcHMu
CiAgICAgZnJpZW5kIGNsYXNzIFJlbmRlclRyZWVBc1RleHQ7IC8vIEZJWE1FOiBPbmx5IG5lZWRl
ZCBzbyB0aGUgcmVuZGVyIHRyZWUgY2FuIGtlZXAgbHlpbmcgYW5kIGR1bXAgdGhlIHdyb25nIGNv
bG9ycy4gIFJlYmFzZWxpbmluZyB3b3VsZCBhbGxvdyB0aGlzIHRvIGJlIHlhbmtlZC4KKyAgICBm
cmllbmQgY2xhc3MgU3R5bGVCdWlsZGVyQ3VzdG9tOyAvLyBTZXRzIG1lbWJlcnMgZGlyZWN0bHku
CiAgICAgZnJpZW5kIGNsYXNzIFN0eWxlUmVzb2x2ZXI7IC8vIFNldHMgbWVtYmVycyBkaXJlY3Rs
eS4KIAogcHVibGljOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242316</attachid>
            <date>2014-12-01 09:45:28 -0800</date>
            <delta_ts>2014-12-01 10:42:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138999-20141201094558.patch</filename>
            <type>text/plain</type>
            <size>23984</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2NTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDk5ZGQ1YjRlMjNkMzJk
ZTg3NGE5OTAyZTk2NjY1MGYxNGI5Mjg0My4uYjE2MjkwYWMwNzhmY2JmNjA2M2UwN2U2YzVmNWFk
NDAxZTlkMTY4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE0LTExLTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVHJhbnNmb3JtIFN0eWxlQnVp
bGRlckN1c3RvbSBpbnRvIGEgY2xhc3MgYW5kIG1hcmsgaXQgYXMgYSBmcmllbmQgb2YgUmVuZGVy
U3R5bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
ODk5OQorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCisKKyAgICAgICAgVHJhbnNm
b3JtIFN0eWxlQnVpbGRlckN1c3RvbSBpbnRvIGEgY2xhc3MgYW5kIG1hcmsgaXQgYXMgYSBmcmll
bmQgb2YKKyAgICAgICAgUmVuZGVyU3R5bGUuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugc29tZSBv
ZiB0aGUgU3R5bGVCdWlsZGVyQ3VzdG9tCisgICAgICAgIGZ1bmN0aW9ucyBuZWVkIHRvIGFjY2Vz
cyBSZW5kZXJTdHlsZSdzIHByaXZhdGUgQVBJLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8g
YmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oOgor
ICAgICAgICAgIE1vdmUgZnVuY3Rpb25zIGZyb20gU3R5bGVCdWlsZGVyRnVuY3Rpb25zIG5hbWVz
cGFjZSB0bworICAgICAgICAgIFN0eWxlQnVpbGRlckN1c3RvbSBjbGFzcy4KKworICAgICAgICAq
IGNzcy9tYWtlcHJvcC5wbDoKKyAgICAgICAgICBVc2UgU3R5bGVCdWlsZGVyQ3VzdG9tIHNjb3Bl
IGluc3RlYWQgb2YgU3R5bGVCdWlsZGVyRnVuY3Rpb25zIGZvcgorICAgICAgICAgIGN1c3RvbSBp
bXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
OgorICAgICAgICAgIE1hcmsgU3R5bGVCdWlsZGVyQ3VzdG9tIGNsYXNzIGFzIGEgZnJpZW5kLCBz
aW1pbGFybHkgdG8gd2hhdCB3YXMKKyAgICAgICAgICBhbHJlYWR5IGRvbmUgZm9yIERlcHJlY2F0
ZWRTdHlsZUJ1aWxkZXIgYW5kIFN0eWxlUmVzb2x2ZXIuCisKIDIwMTQtMTEtMjkgIEd5dXlvdW5n
IEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBGaXggYSBidWlsZCB3
YXJuaW5nIHdoZW4gQ1NTX1NDUk9MTF9TTkFQIGlzIGVuYWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDdXN0b20uaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZUJ1aWxkZXJDdXN0b20uaAppbmRleCBjOGM5OTU1MWVkZGJmM2NkMjgyN2YzNWEzZWIwZGM0
NmNkMzk2ZTBhLi41ZDZmOGEyZGVlMDE1NDNjY2ExZDFmODZlNWUyMTViZWRhNjRlOTZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCkBAIC0zOSw5ICszOSw4MyBAQAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBOb3RlIHRoYXQgd2UgYXNzdW1lIHRoZSBDU1MgcGFy
c2VyIG9ubHkgYWxsb3dzIHZhbGlkIENTU1ZhbHVlIHR5cGVzLgotbmFtZXNwYWNlIFN0eWxlQnVp
bGRlckZ1bmN0aW9ucyB7CitjbGFzcyBTdHlsZUJ1aWxkZXJDdXN0b20geworcHVibGljOgorICAg
IHN0YXRpYyB2b2lkIGFwcGx5VmFsdWVXZWJraXRNYXJxdWVlSW5jcmVtZW50KFN0eWxlUmVzb2x2
ZXImLCBDU1NWYWx1ZSYpOworCisgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZURpcmVjdGlvbihT
dHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKKworICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5pdGlh
bFpvb20oU3R5bGVSZXNvbHZlciYpOworICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5oZXJpdFpvb20o
U3R5bGVSZXNvbHZlciYpOworICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWVab29tKFN0eWxlUmVz
b2x2ZXImLCBDU1NWYWx1ZSYpOworCisjaWYgRU5BQkxFKENTU19TSEFQRVMpCisgICAgc3RhdGlj
IHZvaWQgYXBwbHlWYWx1ZVdlYmtpdFNoYXBlT3V0c2lkZShTdHlsZVJlc29sdmVyJiwgQ1NTVmFs
dWUmKTsKKyNlbmRpZiAvLyBFTkFCTEUoQ1NTX1NIQVBFUykKKworICAgIHN0YXRpYyB2b2lkIGFw
cGx5VmFsdWVWZXJ0aWNhbEFsaWduKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOworCisjaWYg
RU5BQkxFKENTU19JTUFHRV9SRVNPTFVUSU9OKQorICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5oZXJp
dEltYWdlUmVzb2x1dGlvbihTdHlsZVJlc29sdmVyJik7CisgICAgc3RhdGljIHZvaWQgYXBwbHlJ
bml0aWFsSW1hZ2VSZXNvbHV0aW9uKFN0eWxlUmVzb2x2ZXImKTsKKyAgICBzdGF0aWMgdm9pZCBh
cHBseVZhbHVlSW1hZ2VSZXNvbHV0aW9uKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOworI2Vu
ZGlmIC8vIEVOQUJMRShDU1NfSU1BR0VfUkVTT0xVVElPTikKKworICAgIHN0YXRpYyB2b2lkIGFw
cGx5SW5oZXJpdFNpemUoU3R5bGVSZXNvbHZlciYpOworICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5p
dGlhbFNpemUoU3R5bGVSZXNvbHZlciYpOworICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWVTaXpl
KFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOworCisgICAgc3RhdGljIHZvaWQgYXBwbHlJbmhl
cml0VGV4dEluZGVudChTdHlsZVJlc29sdmVyJik7CisgICAgc3RhdGljIHZvaWQgYXBwbHlJbml0
aWFsVGV4dEluZGVudChTdHlsZVJlc29sdmVyJik7CisgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1
ZVRleHRJbmRlbnQoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CisKKyNkZWZpbmUgREVDTEFS
RV9CT1JERVJfSU1BR0VfTU9ESUZJRVJfSEFORExFUih0eXBlLCBtb2RpZmllcikgXAorICAgIHN0
YXRpYyB2b2lkIGFwcGx5SW5oZXJpdCMjdHlwZSMjbW9kaWZpZXIoU3R5bGVSZXNvbHZlciYpOyBc
CisgICAgc3RhdGljIHZvaWQgYXBwbHlJbml0aWFsIyN0eXBlIyNtb2RpZmllcihTdHlsZVJlc29s
dmVyJik7IFwKKyAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlIyN0eXBlIyNtb2RpZmllcihTdHls
ZVJlc29sdmVyJiwgQ1NTVmFsdWUmKQogCi1pbmxpbmUgdm9pZCBhcHBseVZhbHVlV2Via2l0TWFy
cXVlZUluY3JlbWVudChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFs
dWUpCisgICAgREVDTEFSRV9CT1JERVJfSU1BR0VfTU9ESUZJRVJfSEFORExFUihCb3JkZXJJbWFn
ZSwgT3V0c2V0KTsKKyAgICBERUNMQVJFX0JPUkRFUl9JTUFHRV9NT0RJRklFUl9IQU5ETEVSKEJv
cmRlckltYWdlLCBSZXBlYXQpOworICAgIERFQ0xBUkVfQk9SREVSX0lNQUdFX01PRElGSUVSX0hB
TkRMRVIoQm9yZGVySW1hZ2UsIFNsaWNlKTsKKyAgICBERUNMQVJFX0JPUkRFUl9JTUFHRV9NT0RJ
RklFUl9IQU5ETEVSKEJvcmRlckltYWdlLCBXaWR0aCk7CisgICAgREVDTEFSRV9CT1JERVJfSU1B
R0VfTU9ESUZJRVJfSEFORExFUihXZWJraXRNYXNrQm94SW1hZ2UsIE91dHNldCk7CisgICAgREVD
TEFSRV9CT1JERVJfSU1BR0VfTU9ESUZJRVJfSEFORExFUihXZWJraXRNYXNrQm94SW1hZ2UsIFJl
cGVhdCk7CisgICAgREVDTEFSRV9CT1JERVJfSU1BR0VfTU9ESUZJRVJfSEFORExFUihXZWJraXRN
YXNrQm94SW1hZ2UsIFNsaWNlKTsKKyAgICBERUNMQVJFX0JPUkRFUl9JTUFHRV9NT0RJRklFUl9I
QU5ETEVSKFdlYmtpdE1hc2tCb3hJbWFnZSwgV2lkdGgpOworCisgICAgc3RhdGljIHZvaWQgYXBw
bHlWYWx1ZVdvcmRTcGFjaW5nKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOworCisjaWYgRU5B
QkxFKElPU19URVhUX0FVVE9TSVpJTkcpCisgICAgc3RhdGljIHZvaWQgYXBwbHlJbmhlcml0TGlu
ZUhlaWdodChTdHlsZVJlc29sdmVyJik7CisgICAgc3RhdGljIHZvaWQgYXBwbHlJbml0aWFsTGlu
ZUhlaWdodChTdHlsZVJlc29sdmVyJik7CisjZW5kaWYgLy8gRU5BQkxFKElPU19URVhUX0FVVE9T
SVpJTkcpCisgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZUxpbmVIZWlnaHQoU3R5bGVSZXNvbHZl
ciYsIENTU1ZhbHVlJik7CisKKyAgICBzdGF0aWMgdm9pZCBhcHBseUluaGVyaXRPdXRsaW5lU3R5
bGUoU3R5bGVSZXNvbHZlciYpOworICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5pdGlhbE91dGxpbmVT
dHlsZShTdHlsZVJlc29sdmVyJik7CisgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZU91dGxpbmVT
dHlsZShTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKKworICAgIHN0YXRpYyB2b2lkIGFwcGx5
SW5pdGlhbENsaXAoU3R5bGVSZXNvbHZlciYpOworICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5oZXJp
dENsaXAoU3R5bGVSZXNvbHZlciYpOworICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWVDbGlwKFN0
eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOworCisgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZVdl
YmtpdExvY2FsZShTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKKyAgICBzdGF0aWMgdm9pZCBh
cHBseVZhbHVlV2Via2l0V3JpdGluZ01vZGUoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7Cisg
ICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZVdlYmtpdFRleHRPcmllbnRhdGlvbihTdHlsZVJlc29s
dmVyJiwgQ1NTVmFsdWUmKTsKKyAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlV2Via2l0SnVzdGlm
eVNlbGYoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CisgICAgc3RhdGljIHZvaWQgYXBwbHlW
YWx1ZVdlYmtpdFBlcnNwZWN0aXZlKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOworCitwcml2
YXRlOgorICAgIHN0YXRpYyB2b2lkIHJlc2V0RWZmZWN0aXZlWm9vbShTdHlsZVJlc29sdmVyJik7
CisgICAgc3RhdGljIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgY3NzdG9MZW5ndGhDb252ZXJz
aW9uRGF0YVdpdGhUZXh0Wm9vbUZhY3RvcihTdHlsZVJlc29sdmVyJik7CisgICAgc3RhdGljIGJv
b2wgY29udmVydExpbmVIZWlnaHQoU3R5bGVSZXNvbHZlciYsIGNvbnN0IENTU1ZhbHVlJiwgTGVu
Z3RoJiwgZmxvYXQgbXVsdGlwbGllciA9IDEuZik7CisKKyAgICBzdGF0aWMgTGVuZ3RoIG1tTGVu
Z3RoKGRvdWJsZSBtbSk7CisgICAgc3RhdGljIExlbmd0aCBpbmNoTGVuZ3RoKGRvdWJsZSBpbmNo
KTsKKyAgICBzdGF0aWMgYm9vbCBnZXRQYWdlU2l6ZUZyb21OYW1lKENTU1ByaW1pdGl2ZVZhbHVl
KiBwYWdlU2l6ZU5hbWUsIENTU1ByaW1pdGl2ZVZhbHVlKiBwYWdlT3JpZW50YXRpb24sIExlbmd0
aCYgd2lkdGgsIExlbmd0aCYgaGVpZ2h0KTsKK307CisKK2lubGluZSB2b2lkIFN0eWxlQnVpbGRl
ckN1c3RvbTo6YXBwbHlWYWx1ZVdlYmtpdE1hcnF1ZWVJbmNyZW1lbnQoU3R5bGVSZXNvbHZlciYg
c3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQogewogICAgIGF1dG8mIHByaW1pdGl2ZVZh
bHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKTsKICAgICBMZW5ndGggbWFy
cXVlZUxlbmd0aChVbmRlZmluZWQpOwpAQCAtNjUsNyArMTM5LDcgQEAgaW5saW5lIHZvaWQgYXBw
bHlWYWx1ZVdlYmtpdE1hcnF1ZWVJbmNyZW1lbnQoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZl
ciwgQ1NTVmEKICAgICAgICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRNYXJxdWVlSW5jcmVt
ZW50KG1hcnF1ZWVMZW5ndGgpOwogfQogCi1pbmxpbmUgdm9pZCBhcHBseVZhbHVlRGlyZWN0aW9u
KFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKK2lubGluZSB2
b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZURpcmVjdGlvbihTdHlsZVJlc29sdmVy
JiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCiB7CiAgICAgc3R5bGVSZXNvbHZlci5z
dHlsZSgpLT5zZXREaXJlY3Rpb24oZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSk7
CiAKQEAgLTc0LDI1ICsxNDgsMjUgQEAgaW5saW5lIHZvaWQgYXBwbHlWYWx1ZURpcmVjdGlvbihT
dHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCiAgICAgICAgIGVs
ZW1lbnQtPmRvY3VtZW50KCkuc2V0RGlyZWN0aW9uU2V0T25Eb2N1bWVudEVsZW1lbnQodHJ1ZSk7
CiB9CiAKLWlubGluZSB2b2lkIHJlc2V0RWZmZWN0aXZlWm9vbShTdHlsZVJlc29sdmVyJiBzdHls
ZVJlc29sdmVyKQoraW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjpyZXNldEVmZmVjdGl2
ZVpvb20oU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKIHsKICAgICAvLyBSZXNldCB0aGUg
em9vbSBpbiBlZmZlY3QuIFRoaXMgYWxsb3dzIHRoZSBzZXRab29tIG1ldGhvZCB0byBhY2N1cmF0
ZWx5IGNvbXB1dGUgYSBuZXcgem9vbSBpbiBlZmZlY3QuCiAgICAgc3R5bGVSZXNvbHZlci5zZXRF
ZmZlY3RpdmVab29tKHN0eWxlUmVzb2x2ZXIucGFyZW50U3R5bGUoKSA/IHN0eWxlUmVzb2x2ZXIu
cGFyZW50U3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpIDogUmVuZGVyU3R5bGU6OmluaXRpYWxab29t
KCkpOwogfQogCi1pbmxpbmUgdm9pZCBhcHBseUluaXRpYWxab29tKFN0eWxlUmVzb2x2ZXImIHN0
eWxlUmVzb2x2ZXIpCitpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlh
bFpvb20oU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKIHsKICAgICByZXNldEVmZmVjdGl2
ZVpvb20oc3R5bGVSZXNvbHZlcik7CiAgICAgc3R5bGVSZXNvbHZlci5zZXRab29tKFJlbmRlclN0
eWxlOjppbml0aWFsWm9vbSgpKTsKIH0KIAotaW5saW5lIHZvaWQgYXBwbHlJbmhlcml0Wm9vbShT
dHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKQoraW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3Vz
dG9tOjphcHBseUluaGVyaXRab29tKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpCiB7CiAg
ICAgcmVzZXRFZmZlY3RpdmVab29tKHN0eWxlUmVzb2x2ZXIpOwogICAgIHN0eWxlUmVzb2x2ZXIu
c2V0Wm9vbShzdHlsZVJlc29sdmVyLnBhcmVudFN0eWxlKCktPnpvb20oKSk7CiB9CiAKLWlubGlu
ZSB2b2lkIGFwcGx5VmFsdWVab29tKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1Zh
bHVlJiB2YWx1ZSkKK2lubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZVpv
b20oU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQogewogICAg
IGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVl
KTsKIApAQCAtMTE4LDcgKzE5Miw3IEBAIGlubGluZSB2b2lkIGFwcGx5VmFsdWVab29tKFN0eWxl
UmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKIH0KIAogI2lmIEVOQUJM
RShDU1NfU0hBUEVTKQotaW5saW5lIHZvaWQgYXBwbHlWYWx1ZVdlYmtpdFNoYXBlT3V0c2lkZShT
dHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCitpbmxpbmUgdm9p
ZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVXZWJraXRTaGFwZU91dHNpZGUoU3R5bGVS
ZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQogewogICAgIGlmIChpczxD
U1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBTaG91bGRuJ3Qg
dGhpcyBiZSBDU1NWYWx1ZU5vbmU/CkBAIC0xNTIsMTcgKzIyNiwxNyBAQCBpbmxpbmUgdm9pZCBh
cHBseVZhbHVlV2Via2l0U2hhcGVPdXRzaWRlKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIs
IENTU1ZhbHVlJgogfQogI2VuZGlmIC8vIEVOQUJMRShDU1NfU0hBUEVTKQogCi1pbmxpbmUgTGVu
Z3RoIG1tTGVuZ3RoKGRvdWJsZSBtbSkKK2lubGluZSBMZW5ndGggU3R5bGVCdWlsZGVyQ3VzdG9t
OjptbUxlbmd0aChkb3VibGUgbW0pCiB7CiAgICAgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWx1
ZShDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKG1tLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX01N
KSk7CiAgICAgcmV0dXJuIHZhbHVlLmdldCgpLmNvbXB1dGVMZW5ndGg8TGVuZ3RoPihDU1NUb0xl
bmd0aENvbnZlcnNpb25EYXRhKCkpOwogfQotaW5saW5lIExlbmd0aCBpbmNoTGVuZ3RoKGRvdWJs
ZSBpbmNoKQoraW5saW5lIExlbmd0aCBTdHlsZUJ1aWxkZXJDdXN0b206OmluY2hMZW5ndGgoZG91
YmxlIGluY2gpCiB7CiAgICAgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWx1ZShDU1NQcmltaXRp
dmVWYWx1ZTo6Y3JlYXRlKGluY2gsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfSU4pKTsKICAgICBy
ZXR1cm4gdmFsdWUuZ2V0KCkuY29tcHV0ZUxlbmd0aDxMZW5ndGg+KENTU1RvTGVuZ3RoQ29udmVy
c2lvbkRhdGEoKSk7CiB9Ci1zdGF0aWMgYm9vbCBnZXRQYWdlU2l6ZUZyb21OYW1lKENTU1ByaW1p
dGl2ZVZhbHVlKiBwYWdlU2l6ZU5hbWUsIENTU1ByaW1pdGl2ZVZhbHVlKiBwYWdlT3JpZW50YXRp
b24sIExlbmd0aCYgd2lkdGgsIExlbmd0aCYgaGVpZ2h0KQorYm9vbCBTdHlsZUJ1aWxkZXJDdXN0
b206OmdldFBhZ2VTaXplRnJvbU5hbWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHBhZ2VTaXplTmFtZSwg
Q1NTUHJpbWl0aXZlVmFsdWUqIHBhZ2VPcmllbnRhdGlvbiwgTGVuZ3RoJiB3aWR0aCwgTGVuZ3Ro
JiBoZWlnaHQpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPExlbmd0aD4gYTVXaWR0aCht
bUxlbmd0aCgxNDgpKTsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8TGVuZ3RoPiBhNUhlaWdo
dChtbUxlbmd0aCgyMTApKTsKQEAgLTIzNiw3ICszMTAsNyBAQCBzdGF0aWMgYm9vbCBnZXRQYWdl
U2l6ZUZyb21OYW1lKENTU1ByaW1pdGl2ZVZhbHVlKiBwYWdlU2l6ZU5hbWUsIENTU1ByaW1pdGl2
ZVZhbAogICAgIHJldHVybiB0cnVlOwogfQogCi1pbmxpbmUgdm9pZCBhcHBseVZhbHVlVmVydGlj
YWxBbGlnbihTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCitp
bmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVWZXJ0aWNhbEFsaWduKFN0
eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKIHsKICAgICBhdXRv
JiBwcmltaXRpdmVWYWx1ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSk7CiAg
ICAgaWYgKHByaW1pdGl2ZVZhbHVlLmdldFZhbHVlSUQoKSkKQEAgLTI0NiwyMSArMzIwLDIxIEBA
IGlubGluZSB2b2lkIGFwcGx5VmFsdWVWZXJ0aWNhbEFsaWduKFN0eWxlUmVzb2x2ZXImIHN0eWxl
UmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1CiB9CiAKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09M
VVRJT04pCi1pbmxpbmUgdm9pZCBhcHBseUluaGVyaXRJbWFnZVJlc29sdXRpb24oU3R5bGVSZXNv
bHZlciYgc3R5bGVSZXNvbHZlcikKK2lubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBw
bHlJbmhlcml0SW1hZ2VSZXNvbHV0aW9uKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpCiB7
CiAgICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRJbWFnZVJlc29sdXRpb25Tb3VyY2Uoc3R5
bGVSZXNvbHZlci5wYXJlbnRTdHlsZSgpLT5pbWFnZVJlc29sdXRpb25Tb3VyY2UoKSk7CiAgICAg
c3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRJbWFnZVJlc29sdXRpb25TbmFwKHN0eWxlUmVzb2x2
ZXIucGFyZW50U3R5bGUoKS0+aW1hZ2VSZXNvbHV0aW9uU25hcCgpKTsKICAgICBzdHlsZVJlc29s
dmVyLnN0eWxlKCktPnNldEltYWdlUmVzb2x1dGlvbihzdHlsZVJlc29sdmVyLnBhcmVudFN0eWxl
KCktPmltYWdlUmVzb2x1dGlvbigpKTsKIH0KIAotaW5saW5lIHZvaWQgYXBwbHlJbml0aWFsSW1h
Z2VSZXNvbHV0aW9uKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpCitpbmxpbmUgdm9pZCBT
dHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbEltYWdlUmVzb2x1dGlvbihTdHlsZVJlc29s
dmVyJiBzdHlsZVJlc29sdmVyKQogewogICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0SW1h
Z2VSZXNvbHV0aW9uU291cmNlKFJlbmRlclN0eWxlOjppbml0aWFsSW1hZ2VSZXNvbHV0aW9uU291
cmNlKCkpOwogICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0SW1hZ2VSZXNvbHV0aW9uU25h
cChSZW5kZXJTdHlsZTo6aW5pdGlhbEltYWdlUmVzb2x1dGlvblNuYXAoKSk7CiAgICAgc3R5bGVS
ZXNvbHZlci5zdHlsZSgpLT5zZXRJbWFnZVJlc29sdXRpb24oUmVuZGVyU3R5bGU6OmluaXRpYWxJ
bWFnZVJlc29sdXRpb24oKSk7CiB9CiAKLWlubGluZSB2b2lkIGFwcGx5VmFsdWVJbWFnZVJlc29s
dXRpb24oU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQoraW5s
aW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlSW1hZ2VSZXNvbHV0aW9uKFN0
eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKIHsKICAgICBJbWFn
ZVJlc29sdXRpb25Tb3VyY2Ugc291cmNlID0gUmVuZGVyU3R5bGU6OmluaXRpYWxJbWFnZVJlc29s
dXRpb25Tb3VyY2UoKTsKICAgICBJbWFnZVJlc29sdXRpb25TbmFwIHNuYXAgPSBSZW5kZXJTdHls
ZTo6aW5pdGlhbEltYWdlUmVzb2x1dGlvblNuYXAoKTsKQEAgLTI4MCw5ICszNTQsOSBAQCBpbmxp
bmUgdm9pZCBhcHBseVZhbHVlSW1hZ2VSZXNvbHV0aW9uKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVz
b2x2ZXIsIENTU1ZhbHVlJiB2YQogfQogI2VuZGlmIC8vIEVOQUJMRShDU1NfSU1BR0VfUkVTT0xV
VElPTikKIAotaW5saW5lIHZvaWQgYXBwbHlJbmhlcml0U2l6ZShTdHlsZVJlc29sdmVyJikgeyB9
Ci1pbmxpbmUgdm9pZCBhcHBseUluaXRpYWxTaXplKFN0eWxlUmVzb2x2ZXImKSB7IH0KLWlubGlu
ZSB2b2lkIGFwcGx5VmFsdWVTaXplKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1Zh
bHVlJiB2YWx1ZSkKK2lubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlJbmhlcml0
U2l6ZShTdHlsZVJlc29sdmVyJikgeyB9CitpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206
OmFwcGx5SW5pdGlhbFNpemUoU3R5bGVSZXNvbHZlciYpIHsgfQoraW5saW5lIHZvaWQgU3R5bGVC
dWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlU2l6ZShTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVy
LCBDU1NWYWx1ZSYgdmFsdWUpCiB7CiAgICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5yZXNldFBh
Z2VTaXplVHlwZSgpOwogICAgIExlbmd0aCB3aWR0aDsKQEAgLTM1Niw3ICs0MzAsNyBAQCBpbmxp
bmUgdm9pZCBhcHBseVZhbHVlU2l6ZShTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NW
YWx1ZSYgdmFsdWUpCiAgICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRQYWdlU2l6ZShMZW5n
dGhTaXplKHdpZHRoLCBoZWlnaHQpKTsKIH0KIAotaW5saW5lIHZvaWQgYXBwbHlJbmhlcml0VGV4
dEluZGVudChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKQoraW5saW5lIHZvaWQgU3R5bGVC
dWlsZGVyQ3VzdG9tOjphcHBseUluaGVyaXRUZXh0SW5kZW50KFN0eWxlUmVzb2x2ZXImIHN0eWxl
UmVzb2x2ZXIpCiB7CiAgICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRUZXh0SW5kZW50KHN0
eWxlUmVzb2x2ZXIucGFyZW50U3R5bGUoKS0+dGV4dEluZGVudCgpKTsKICNpZiBFTkFCTEUoQ1NT
M19URVhUKQpAQCAtMzY1LDcgKzQzOSw3IEBAIGlubGluZSB2b2lkIGFwcGx5SW5oZXJpdFRleHRJ
bmRlbnQoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKICNlbmRpZgogfQogCi1pbmxpbmUg
dm9pZCBhcHBseUluaXRpYWxUZXh0SW5kZW50KFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIp
CitpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbFRleHRJbmRlbnQo
U3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKIHsKICAgICBzdHlsZVJlc29sdmVyLnN0eWxl
KCktPnNldFRleHRJbmRlbnQoUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0SW5kZW50KCkpOwogI2lm
IEVOQUJMRShDU1MzX1RFWFQpCkBAIC0zNzQsNyArNDQ4LDcgQEAgaW5saW5lIHZvaWQgYXBwbHlJ
bml0aWFsVGV4dEluZGVudChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKQogI2VuZGlmCiB9
CiAKLWlubGluZSB2b2lkIGFwcGx5VmFsdWVUZXh0SW5kZW50KFN0eWxlUmVzb2x2ZXImIHN0eWxl
UmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKK2lubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3Rv
bTo6YXBwbHlWYWx1ZVRleHRJbmRlbnQoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NT
VmFsdWUmIHZhbHVlKQogewogICAgIExlbmd0aCBsZW5ndGhPclBlcmNlbnRhZ2VWYWx1ZTsKICNp
ZiBFTkFCTEUoQ1NTM19URVhUKQpAQCAtNDcxLDI3ICs1NDUsMjcgQEAgcHVibGljOgogICAgIH0K
IAogcHJpdmF0ZToKLSAgICBzdGF0aWMgaW5saW5lIGNvbnN0IE5pbmVQaWVjZUltYWdlJiBnZXRW
YWx1ZShSZW5kZXJTdHlsZSogc3R5bGUpCisgICAgc3RhdGljIGNvbnN0IE5pbmVQaWVjZUltYWdl
JiBnZXRWYWx1ZShSZW5kZXJTdHlsZSogc3R5bGUpCiAgICAgewogICAgICAgICByZXR1cm4gdHlw
ZSA9PSBCb3JkZXJJbWFnZSA/IHN0eWxlLT5ib3JkZXJJbWFnZSgpIDogc3R5bGUtPm1hc2tCb3hJ
bWFnZSgpOwogICAgIH0KIAotICAgIHN0YXRpYyBpbmxpbmUgdm9pZCBzZXRWYWx1ZShSZW5kZXJT
dHlsZSogc3R5bGUsIGNvbnN0IE5pbmVQaWVjZUltYWdlJiB2YWx1ZSkKKyAgICBzdGF0aWMgdm9p
ZCBzZXRWYWx1ZShSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IE5pbmVQaWVjZUltYWdlJiB2YWx1
ZSkKICAgICB7CiAgICAgICAgIHJldHVybiB0eXBlID09IEJvcmRlckltYWdlID8gc3R5bGUtPnNl
dEJvcmRlckltYWdlKHZhbHVlKSA6IHN0eWxlLT5zZXRNYXNrQm94SW1hZ2UodmFsdWUpOwogICAg
IH0KIH07CiAKICNkZWZpbmUgREVGSU5FX0JPUkRFUl9JTUFHRV9NT0RJRklFUl9IQU5ETEVSKHR5
cGUsIG1vZGlmaWVyKSBcCi1pbmxpbmUgdm9pZCBhcHBseUluaGVyaXQjI3R5cGUjI21vZGlmaWVy
KFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpIFwKK2lubGluZSB2b2lkIFN0eWxlQnVpbGRl
ckN1c3RvbTo6YXBwbHlJbmhlcml0IyN0eXBlIyNtb2RpZmllcihTdHlsZVJlc29sdmVyJiBzdHls
ZVJlc29sdmVyKSBcCiB7IFwKICAgICBBcHBseVByb3BlcnR5Qm9yZGVySW1hZ2VNb2RpZmllcjx0
eXBlLCBtb2RpZmllcj46OmFwcGx5SW5oZXJpdFZhbHVlKHN0eWxlUmVzb2x2ZXIpOyBcCiB9IFwK
LWlubGluZSB2b2lkIGFwcGx5SW5pdGlhbCMjdHlwZSMjbW9kaWZpZXIoU3R5bGVSZXNvbHZlciYg
c3R5bGVSZXNvbHZlcikgXAoraW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseUlu
aXRpYWwjI3R5cGUjI21vZGlmaWVyKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpIFwKIHsg
XAogICAgIEFwcGx5UHJvcGVydHlCb3JkZXJJbWFnZU1vZGlmaWVyPHR5cGUsIG1vZGlmaWVyPjo6
YXBwbHlJbml0aWFsVmFsdWUoc3R5bGVSZXNvbHZlcik7IFwKIH0gXAotaW5saW5lIHZvaWQgYXBw
bHlWYWx1ZSMjdHlwZSMjbW9kaWZpZXIoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NT
VmFsdWUmIHZhbHVlKSBcCitpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFs
dWUjI3R5cGUjI21vZGlmaWVyKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVl
JiB2YWx1ZSkgXAogeyBcCiAgICAgQXBwbHlQcm9wZXJ0eUJvcmRlckltYWdlTW9kaWZpZXI8dHlw
ZSwgbW9kaWZpZXI+OjphcHBseVZhbHVlKHN0eWxlUmVzb2x2ZXIsIHZhbHVlKTsgXAogfQpAQCAt
NTA1LDcgKzU3OSw3IEBAIERFRklORV9CT1JERVJfSU1BR0VfTU9ESUZJRVJfSEFORExFUihXZWJr
aXRNYXNrQm94SW1hZ2UsIFJlcGVhdCkKIERFRklORV9CT1JERVJfSU1BR0VfTU9ESUZJRVJfSEFO
RExFUihXZWJraXRNYXNrQm94SW1hZ2UsIFNsaWNlKQogREVGSU5FX0JPUkRFUl9JTUFHRV9NT0RJ
RklFUl9IQU5ETEVSKFdlYmtpdE1hc2tCb3hJbWFnZSwgV2lkdGgpCiAKLWlubGluZSBDU1NUb0xl
bmd0aENvbnZlcnNpb25EYXRhIGNzc3RvTGVuZ3RoQ29udmVyc2lvbkRhdGFXaXRoVGV4dFpvb21G
YWN0b3IoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKK2lubGluZSBDU1NUb0xlbmd0aENv
bnZlcnNpb25EYXRhIFN0eWxlQnVpbGRlckN1c3RvbTo6Y3NzdG9MZW5ndGhDb252ZXJzaW9uRGF0
YVdpdGhUZXh0Wm9vbUZhY3RvcihTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKQogewogICAg
IGlmIChGcmFtZSogZnJhbWUgPSBzdHlsZVJlc29sdmVyLmRvY3VtZW50KCkuZnJhbWUoKSkKICAg
ICAgICAgcmV0dXJuIHN0eWxlUmVzb2x2ZXIuc3RhdGUoKS5jc3NUb0xlbmd0aENvbnZlcnNpb25E
YXRhKCkuY29weVdpdGhBZGp1c3RlZFpvb20oc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5lZmZlY3Rp
dmVab29tKCkgKiBmcmFtZS0+dGV4dFpvb21GYWN0b3IoKSk7CkBAIC01MTMsNyArNTg3LDcgQEAg
aW5saW5lIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgY3NzdG9MZW5ndGhDb252ZXJzaW9uRGF0
YVdpdGhUZXh0Wm9vbUZhY3RvcihTdHkKICAgICByZXR1cm4gc3R5bGVSZXNvbHZlci5zdGF0ZSgp
LmNzc1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoKTsKIH0KIAotaW5saW5lIGJvb2wgY29udmVydExp
bmVIZWlnaHQoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgY29uc3QgQ1NTVmFsdWUmIHZh
bHVlLCBMZW5ndGgmIGxlbmd0aCwgZmxvYXQgbXVsdGlwbGllciA9IDEuZikKK2lubGluZSBib29s
IFN0eWxlQnVpbGRlckN1c3RvbTo6Y29udmVydExpbmVIZWlnaHQoU3R5bGVSZXNvbHZlciYgc3R5
bGVSZXNvbHZlciwgY29uc3QgQ1NTVmFsdWUmIHZhbHVlLCBMZW5ndGgmIGxlbmd0aCwgZmxvYXQg
bXVsdGlwbGllcikKIHsKICAgICBhdXRvJiBwcmltaXRpdmVWYWx1ZSA9IGRvd25jYXN0PENTU1By
aW1pdGl2ZVZhbHVlPih2YWx1ZSk7CiAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmdldFZhbHVlSUQo
KSA9PSBDU1NWYWx1ZU5vcm1hbCkgewpAQCAtNTM5LDcgKzYxMyw3IEBAIGlubGluZSBib29sIGNv
bnZlcnRMaW5lSGVpZ2h0KFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIGNvbnN0IENTU1Zh
bHVlJiB2YWx1CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1pbmxpbmUgdm9pZCBhcHBseVZhbHVl
V29yZFNwYWNpbmcoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVl
KQoraW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlV29yZFNwYWNpbmco
U3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQogewogICAgIGF1
dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKTsK
IApAQCAtNTU5LDE5ICs2MzMsMTkgQEAgaW5saW5lIHZvaWQgYXBwbHlWYWx1ZVdvcmRTcGFjaW5n
KFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKIAogI2lmIEVO
QUJMRShJT1NfVEVYVF9BVVRPU0laSU5HKQogCi1pbmxpbmUgdm9pZCBhcHBseUluaGVyaXRMaW5l
SGVpZ2h0KFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpCitpbmxpbmUgdm9pZCBTdHlsZUJ1
aWxkZXJDdXN0b206OmFwcGx5SW5oZXJpdExpbmVIZWlnaHQoU3R5bGVSZXNvbHZlciYgc3R5bGVS
ZXNvbHZlcikKIHsKICAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnNldExpbmVIZWlnaHQoc3R5
bGVSZXNvbHZlci5wYXJlbnRTdHlsZSgpLT5saW5lSGVpZ2h0KCkpOwogICAgIHN0eWxlUmVzb2x2
ZXIuc3R5bGUoKS0+c2V0U3BlY2lmaWVkTGluZUhlaWdodChzdHlsZVJlc29sdmVyLnBhcmVudFN0
eWxlKCktPnNwZWNpZmllZExpbmVIZWlnaHQoKSk7CiB9CiAKLWlubGluZSB2b2lkIGFwcGx5SW5p
dGlhbExpbmVIZWlnaHQoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKK2lubGluZSB2b2lk
IFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlJbml0aWFsTGluZUhlaWdodChTdHlsZVJlc29sdmVy
JiBzdHlsZVJlc29sdmVyKQogewogICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0TGluZUhl
aWdodChSZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVIZWlnaHQoKSk7CiAgICAgc3R5bGVSZXNvbHZl
ci5zdHlsZSgpLT5zZXRTcGVjaWZpZWRMaW5lSGVpZ2h0KFJlbmRlclN0eWxlOjppbml0aWFsU3Bl
Y2lmaWVkTGluZUhlaWdodCgpKTsKIH0KIAotaW5saW5lIHZvaWQgYXBwbHlWYWx1ZUxpbmVIZWln
aHQoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQoraW5saW5l
IHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlTGluZUhlaWdodChTdHlsZVJlc29s
dmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCiB7CiAgICAgTGVuZ3RoIGxpbmVI
ZWlnaHQ7CiAgICAgZmxvYXQgbXVsdGlwbGllciA9IHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+dGV4
dFNpemVBZGp1c3QoKS5pc1BlcmNlbnRhZ2UoKSA/IHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+dGV4
dFNpemVBZGp1c3QoKS5tdWx0aXBsaWVyKCkgOiAxLmY7CkBAIC01ODQsNyArNjU4LDcgQEAgaW5s
aW5lIHZvaWQgYXBwbHlWYWx1ZUxpbmVIZWlnaHQoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZl
ciwgQ1NTVmFsdWUmIHZhbHVlKQogCiAjZWxzZQogCi1pbmxpbmUgdm9pZCBhcHBseVZhbHVlTGlu
ZUhlaWdodChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCitp
bmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVMaW5lSGVpZ2h0KFN0eWxl
UmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKIHsKICAgICBMZW5ndGgg
bGluZUhlaWdodDsKICAgICBpZiAoIWNvbnZlcnRMaW5lSGVpZ2h0KHN0eWxlUmVzb2x2ZXIsIHZh
bHVlLCBsaW5lSGVpZ2h0KSkKQEAgLTU5NSwxOSArNjY5LDE5IEBAIGlubGluZSB2b2lkIGFwcGx5
VmFsdWVMaW5lSGVpZ2h0KFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2
YWx1ZSkKIAogI2VuZGlmCiAKLWlubGluZSB2b2lkIGFwcGx5SW5oZXJpdE91dGxpbmVTdHlsZShT
dHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKQoraW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3Vz
dG9tOjphcHBseUluaGVyaXRPdXRsaW5lU3R5bGUoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZl
cikKIHsKICAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnNldE91dGxpbmVTdHlsZUlzQXV0byhz
dHlsZVJlc29sdmVyLnBhcmVudFN0eWxlKCktPm91dGxpbmVTdHlsZUlzQXV0bygpKTsKICAgICBz
dHlsZVJlc29sdmVyLnN0eWxlKCktPnNldE91dGxpbmVTdHlsZShzdHlsZVJlc29sdmVyLnBhcmVu
dFN0eWxlKCktPm91dGxpbmVTdHlsZSgpKTsKIH0KIAotaW5saW5lIHZvaWQgYXBwbHlJbml0aWFs
T3V0bGluZVN0eWxlKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpCitpbmxpbmUgdm9pZCBT
dHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbE91dGxpbmVTdHlsZShTdHlsZVJlc29sdmVy
JiBzdHlsZVJlc29sdmVyKQogewogICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0T3V0bGlu
ZVN0eWxlSXNBdXRvKFJlbmRlclN0eWxlOjppbml0aWFsT3V0bGluZVN0eWxlSXNBdXRvKCkpOwog
ICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0T3V0bGluZVN0eWxlKFJlbmRlclN0eWxlOjpp
bml0aWFsQm9yZGVyU3R5bGUoKSk7CiB9CiAKLWlubGluZSB2b2lkIGFwcGx5VmFsdWVPdXRsaW5l
U3R5bGUoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQoraW5s
aW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlT3V0bGluZVN0eWxlKFN0eWxl
UmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKIHsKICAgICBhdXRvJiBw
cmltaXRpdmVWYWx1ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSk7CiAKQEAg
LTYxNSwxMyArNjg5LDEzIEBAIGlubGluZSB2b2lkIGFwcGx5VmFsdWVPdXRsaW5lU3R5bGUoU3R5
bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlCiAgICAgc3R5bGVSZXNv
bHZlci5zdHlsZSgpLT5zZXRPdXRsaW5lU3R5bGUocHJpbWl0aXZlVmFsdWUpOwogfQogCi1pbmxp
bmUgdm9pZCBhcHBseUluaXRpYWxDbGlwKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpCitp
bmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbENsaXAoU3R5bGVSZXNv
bHZlciYgc3R5bGVSZXNvbHZlcikKIHsKICAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnNldENs
aXAoTGVuZ3RoKCksIExlbmd0aCgpLCBMZW5ndGgoKSwgTGVuZ3RoKCkpOwogICAgIHN0eWxlUmVz
b2x2ZXIuc3R5bGUoKS0+c2V0SGFzQ2xpcChmYWxzZSk7CiB9CiAKLWlubGluZSB2b2lkIGFwcGx5
SW5oZXJpdENsaXAoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKK2lubGluZSB2b2lkIFN0
eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlJbmhlcml0Q2xpcChTdHlsZVJlc29sdmVyJiBzdHlsZVJl
c29sdmVyKQogewogICAgIFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSA9IHN0eWxlUmVzb2x2ZXIu
cGFyZW50U3R5bGUoKTsKICAgICBpZiAoIXBhcmVudFN0eWxlLT5oYXNDbGlwKCkpCkBAIC02MzAs
NyArNzA0LDcgQEAgaW5saW5lIHZvaWQgYXBwbHlJbmhlcml0Q2xpcChTdHlsZVJlc29sdmVyJiBz
dHlsZVJlc29sdmVyKQogICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0SGFzQ2xpcCh0cnVl
KTsKIH0KIAotaW5saW5lIHZvaWQgYXBwbHlWYWx1ZUNsaXAoU3R5bGVSZXNvbHZlciYgc3R5bGVS
ZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQoraW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9t
OjphcHBseVZhbHVlQ2xpcChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYg
dmFsdWUpCiB7CiAgICAgYXV0byYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRp
dmVWYWx1ZT4odmFsdWUpOwogCkBAIC02NDgsNyArNzIyLDcgQEAgaW5saW5lIHZvaWQgYXBwbHlW
YWx1ZUNsaXAoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQog
ICAgIH0KIH0KIAotaW5saW5lIHZvaWQgYXBwbHlWYWx1ZVdlYmtpdExvY2FsZShTdHlsZVJlc29s
dmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCitpbmxpbmUgdm9pZCBTdHlsZUJ1
aWxkZXJDdXN0b206OmFwcGx5VmFsdWVXZWJraXRMb2NhbGUoU3R5bGVSZXNvbHZlciYgc3R5bGVS
ZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQogewogICAgIGF1dG8mIHByaW1pdGl2ZVZhbHVlID0g
ZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKTsKIApAQCAtNjYyLDcgKzczNiw3IEBA
IGlubGluZSB2b2lkIGFwcGx5VmFsdWVXZWJraXRMb2NhbGUoU3R5bGVSZXNvbHZlciYgc3R5bGVS
ZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlCiAgICAgc3R5bGVSZXNvbHZlci5zZXRGb250RGVzY3Jp
cHRpb24oZm9udERlc2NyaXB0aW9uKTsKIH0KIAotaW5saW5lIHZvaWQgYXBwbHlWYWx1ZVdlYmtp
dFdyaXRpbmdNb2RlKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1
ZSkKK2lubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZVdlYmtpdFdyaXRp
bmdNb2RlKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKIHsK
ICAgICBzdHlsZVJlc29sdmVyLnNldFdyaXRpbmdNb2RlKGRvd25jYXN0PENTU1ByaW1pdGl2ZVZh
bHVlPih2YWx1ZSkpOwogCkBAIC02NzIsMTIgKzc0NiwxMiBAQCBpbmxpbmUgdm9pZCBhcHBseVZh
bHVlV2Via2l0V3JpdGluZ01vZGUoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFs
dWUmCiAgICAgICAgIHN0YXRlLmRvY3VtZW50KCkuc2V0V3JpdGluZ01vZGVTZXRPbkRvY3VtZW50
RWxlbWVudCh0cnVlKTsKIH0KIAotaW5saW5lIHZvaWQgYXBwbHlWYWx1ZVdlYmtpdFRleHRPcmll
bnRhdGlvbihTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCitp
bmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVXZWJraXRUZXh0T3JpZW50
YXRpb24oU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQogewog
ICAgIHN0eWxlUmVzb2x2ZXIuc2V0VGV4dE9yaWVudGF0aW9uKGRvd25jYXN0PENTU1ByaW1pdGl2
ZVZhbHVlPih2YWx1ZSkpOwogfQogCi1pbmxpbmUgdm9pZCBhcHBseVZhbHVlV2Via2l0SnVzdGlm
eVNlbGYoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQoraW5s
aW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlV2Via2l0SnVzdGlmeVNlbGYo
U3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQogewogICAgIGF1
dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKTsK
IApAQCAtNjg4LDcgKzc2Miw3IEBAIGlubGluZSB2b2lkIGFwcGx5VmFsdWVXZWJraXRKdXN0aWZ5
U2VsZihTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYKICAgICAgICAgc3R5
bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRKdXN0aWZ5U2VsZihwcmltaXRpdmVWYWx1ZSk7CiB9CiAK
LWlubGluZSB2b2lkIGFwcGx5VmFsdWVXZWJraXRQZXJzcGVjdGl2ZShTdHlsZVJlc29sdmVyJiBz
dHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCitpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJD
dXN0b206OmFwcGx5VmFsdWVXZWJraXRQZXJzcGVjdGl2ZShTdHlsZVJlc29sdmVyJiBzdHlsZVJl
c29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCiB7CiAgICAgYXV0byYgcHJpbWl0aXZlVmFsdWUgPSBk
b3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpOwogCkBAIC03MTMsOCArNzg3LDYgQEAg
aW5saW5lIHZvaWQgYXBwbHlWYWx1ZVdlYmtpdFBlcnNwZWN0aXZlKFN0eWxlUmVzb2x2ZXImIHN0
eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJgogICAgICAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnNl
dFBlcnNwZWN0aXZlKHBlcnNwZWN0aXZlVmFsdWUpOwogfQogCi19IC8vIG5hbWVzcGFjZSBTdHls
ZUJ1aWxkZXJGdW5jdGlvbnMKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
U3R5bGVCdWlsZGVyQ3VzdG9tX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtl
cHJvcC5wbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbAppbmRleCAzNDFjZWY0ODcx
MzI2Nzk3OTE3N2U5MzU4Njk3Y2U1OTMyYjI1ZmRiLi5hMWQyOWQ0ODEyZjcxMDBkYTM1NjNkMjhm
NWMwMGRiNDNmMjJiNzcyIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3Au
cGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCkBAIC00MTcsMTMgKzQxNywx
NiBAQCBmb3JlYWNoIG15ICRuYW1lIChAbmFtZXMpIHsKICAgIyBTa2lwIHByb3BlcnRpZXMgc3Rp
bGwgdXNpbmcgdGhlIGxlZ2FjeSBzdHlsZSBidWlsZGVyLgogICBuZXh0IHVubGVzcyBleGlzdHMo
JHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX0pOwogCisgIG15ICRzY29w
ZSA9ICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJDdXN0b20ifSBl
cSAiQWxsIiA/ICJTdHlsZUJ1aWxkZXJDdXN0b20iIDogIlN0eWxlQnVpbGRlckZ1bmN0aW9ucyI7
CisgIG15ICR2YWx1ZVNjb3BlID0gJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3sk
bmFtZX17IkN1c3RvbSJ9IGVxICJWYWx1ZSIgPyAiU3R5bGVCdWlsZGVyQ3VzdG9tIiA6ICRzY29w
ZTsKKwogICBwcmludCBTVFlMRUJVSUxERVIgIiAgICBjYXNlIENTU1Byb3BlcnR5IiAuICRuYW1l
VG9JZHskbmFtZX0gLiAiOlxuIjsKICAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgICAgIGlmIChp
c0luaXRpYWwpXG4iOwotICBwcmludCBTVFlMRUJVSUxERVIgIiAgICAgICAgICAgIFN0eWxlQnVp
bGRlckZ1bmN0aW9uczo6YXBwbHlJbml0aWFsIiAuICRuYW1lVG9JZHskbmFtZX0gLiAiKHN0eWxl
UmVzb2x2ZXIpO1xuIjsKKyAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgICAgICAgICAiIC4gJHNj
b3BlIC4gIjo6YXBwbHlJbml0aWFsIiAuICRuYW1lVG9JZHskbmFtZX0gLiAiKHN0eWxlUmVzb2x2
ZXIpO1xuIjsKICAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgICAgIGVsc2UgaWYgKGlzSW5oZXJp
dClcbiI7Ci0gIHByaW50IFNUWUxFQlVJTERFUiAiICAgICAgICAgICAgU3R5bGVCdWlsZGVyRnVu
Y3Rpb25zOjphcHBseUluaGVyaXQiIC4gJG5hbWVUb0lkeyRuYW1lfSAuICIoc3R5bGVSZXNvbHZl
cik7XG4iOworICBwcmludCBTVFlMRUJVSUxERVIgIiAgICAgICAgICAgICIgLiAkc2NvcGUgLiAi
OjphcHBseUluaGVyaXQiIC4gJG5hbWVUb0lkeyRuYW1lfSAuICIoc3R5bGVSZXNvbHZlcik7XG4i
OwogICBwcmludCBTVFlMRUJVSUxERVIgIiAgICAgICAgZWxzZVxuIjsKLSAgcHJpbnQgU1RZTEVC
VUlMREVSICIgICAgICAgICAgICBTdHlsZUJ1aWxkZXJGdW5jdGlvbnM6OmFwcGx5VmFsdWUiIC4g
JG5hbWVUb0lkeyRuYW1lfSAuICIoc3R5bGVSZXNvbHZlciwgdmFsdWUpO1xuIjsKKyAgcHJpbnQg
U1RZTEVCVUlMREVSICIgICAgICAgICAgICAiIC4gJHZhbHVlU2NvcGUgLiAiOjphcHBseVZhbHVl
IiAuICRuYW1lVG9JZHskbmFtZX0gLiAiKHN0eWxlUmVzb2x2ZXIsIHZhbHVlKTtcbiI7CiAgIHBy
aW50IFNUWUxFQlVJTERFUiAiICAgICAgICByZXR1cm4gdHJ1ZTtcbiI7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggOTc4YjdlNDQ0ZDI0
NjI2ODdhOWRkYmYwYWQzZDlmOTQ0NzNkMTNlMi4uZGFkYTQxNzVkNGUzMTZjMTU3MDZmM2ZmYmM0
N2I3Y2E1NzU5ZGM0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKQEAgLTEyOCw2ICsxMjgsNyBAQCBjbGFzcyBSZW5kZXJTdHlsZTogcHVibGljIFJl
ZkNvdW50ZWQ8UmVuZGVyU3R5bGU+IHsKICAgICBmcmllbmQgY2xhc3MgUHJvcGVydHlXcmFwcGVy
TWF5YmVJbnZhbGlkQ29sb3I7IC8vIFVzZWQgYnkgQ1NTIGFuaW1hdGlvbnMuIFdlIGNhbid0IGFs
bG93IHRoZW0gdG8gYW5pbWF0ZSBiYXNlZCBvZmYgdmlzaXRlZCBjb2xvcnMuCiAgICAgZnJpZW5k
IGNsYXNzIFJlbmRlclNWR1Jlc291cmNlOyAvLyBGSVhNRTogTmVlZHMgdG8gYWx0ZXIgdGhlIHZp
c2l0ZWQgc3RhdGUgYnkgaGFuZC4gU2hvdWxkIGNsZWFuIHRoZSBTVkcgY29kZSB1cCBhbmQgbW92
ZSBpdCBpbnRvIFJlbmRlclN0eWxlIHBlcmhhcHMuCiAgICAgZnJpZW5kIGNsYXNzIFJlbmRlclRy
ZWVBc1RleHQ7IC8vIEZJWE1FOiBPbmx5IG5lZWRlZCBzbyB0aGUgcmVuZGVyIHRyZWUgY2FuIGtl
ZXAgbHlpbmcgYW5kIGR1bXAgdGhlIHdyb25nIGNvbG9ycy4gIFJlYmFzZWxpbmluZyB3b3VsZCBh
bGxvdyB0aGlzIHRvIGJlIHlhbmtlZC4KKyAgICBmcmllbmQgY2xhc3MgU3R5bGVCdWlsZGVyQ3Vz
dG9tOyAvLyBTZXRzIG1lbWJlcnMgZGlyZWN0bHkuCiAgICAgZnJpZW5kIGNsYXNzIFN0eWxlUmVz
b2x2ZXI7IC8vIFNldHMgbWVtYmVycyBkaXJlY3RseS4KIAogcHVibGljOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>