<?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>43497</bug_id>
          
          <creation_ts>2010-08-04 11:39:24 -0700</creation_ts>
          <short_desc>NetscapePluginModule::try/unload should be cross-platform</short_desc>
          <delta_ts>2010-08-05 07:11:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>43189</blocked>
    
    <blocked>43513</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Adam Roben (:aroben)">aroben</assigned_to>
          <cc>andersca</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>260124</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-04 11:39:24 -0700</bug_when>
    <thetext>NetscapePluginModule::try/unload should be cross-platform</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260128</commentid>
    <comment_count>1</comment_count>
      <attachid>63474</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-04 11:45:40 -0700</bug_when>
    <thetext>Created attachment 63474
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260130</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-04 11:47:59 -0700</bug_when>
    <thetext>Attachment 63474 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit2/Platform/win/ModuleWin.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/Platform/qt/ModuleQt.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/Platform/Module.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 3 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260137</commentid>
    <comment_count>3</comment_count>
      <attachid>63474</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-08-04 12:02:15 -0700</bug_when>
    <thetext>Comment on attachment 63474
Patch

On mac, Module::unload should always leak the bundle, it&apos;s not specific to plug-ins.

Looks great otherwise!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260142</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-04 12:10:27 -0700</bug_when>
    <thetext>Committed r64663: &lt;http://trac.webkit.org/changeset/64663&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260152</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-04 12:29:26 -0700</bug_when>
    <thetext>Committed r64664: &lt;http://trac.webkit.org/changeset/64664&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260154</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-04 12:37:36 -0700</bug_when>
    <thetext>Committed r64666: &lt;http://trac.webkit.org/changeset/64666&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260160</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-04 12:50:13 -0700</bug_when>
    <thetext>Committed r64667: &lt;http://trac.webkit.org/changeset/64667&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260169</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-04 12:58:19 -0700</bug_when>
    <thetext>Committed r64668: &lt;http://trac.webkit.org/changeset/64668&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63474</attachid>
            <date>2010-08-04 11:45:40 -0700</date>
            <delta_ts>2010-08-04 12:02:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43497-20100804144538.patch</filename>
            <type>text/plain</type>
            <size>25816</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
OWNlNzdlM2I2N2Q4ZDhlYjUwOTJkYjkzNWI2Yzg0OWJlZmJmYmY4Yi4uZjQzMzk3MzlhZjIzZmM4
MWEwZTQwNmRhYzk1ODMwNDEzYzU4ZjgyOSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NiBAQAorMjAxMC0wOC0wNCAgQWRh
bSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBidW5kbGUtbG9hZGlu
ZyBjb2RlIGZyb20gTmV0c2NhcGVQbHVnaW5Nb2R1bGUgdG8gYSBuZXcgTW9kdWxlCisgICAgICAg
IGNsYXNzCisKKyAgICAgICAgVGhpcyBhbGxvd3MgbW9yZSBOZXRzY2FwZVBsdWdpbk1vZHVsZSBj
b2RlIHRvIGJlIGNyb3NzLXBsYXRmb3JtLgorCisgICAgICAgIEZpeGVzIDxodHRwOi8vd2Via2l0
Lm9yZy9iLzQzNDk3PiBOZXRzY2FwZVBsdWdpbk1vZHVsZTo6dHJ5L3VubG9hZAorICAgICAgICBz
aG91bGQgYmUgY3Jvc3MtcGxhdGZvcm0KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFBsYXRmb3JtL01vZHVsZS5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpNb2R1bGU6Ok1vZHVsZSk6IFN0b3JlIG91ciBwYXRoLgorICAgICAgICAoV2ViS2l0
OjpNb2R1bGU6On5Nb2R1bGUpOiBVbmxvYWQgb3VyIG5hdGl2ZSBtb2R1bGUuCisKKyAgICAgICAg
KiBQbGF0Zm9ybS9Nb2R1bGUuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok1vZHVsZTo6bGVh
a0J1bmRsZSk6IERvZXMgd2hhdCBpdCBzYXlzLgorICAgICAgICAoV2ViS2l0OjpNb2R1bGU6OmZ1
bmN0aW9uUG9pbnRlcik6IFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBuYW1lZAorICAgICAgICBm
dW5jdGlvbiwgd2l0aCB0aGUgcmlnaHQgdHlwZS4KKworICAgICAgICAqIFBsYXRmb3JtL21hYy9N
b2R1bGVNYWMubW06IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpNb2R1bGU6OmxvYWQpOiBDb2Rl
IHdhcyBtb3ZlZCBoZXJlIGZyb20KKyAgICAgICAgTmV0c2NhcGVQbHVnaW5Nb2R1bGU6OnRyeUxv
YWQuCisgICAgICAgIChXZWJLaXQ6Ok1vZHVsZTo6dW5sb2FkKTogSnVzdCBjbGVhcnMgb3VyIGJ1
bmRsZS4KKyAgICAgICAgKFdlYktpdDo6TW9kdWxlOjpwbGF0Zm9ybUZ1bmN0aW9uUG9pbnRlcik6
IENvZGUgd2FzIG1vdmVkIGhlcmUgZnJvbQorICAgICAgICBOZXRzY2FwZVBsdWdpbk1vZHVsZU1h
Yy5jcHAuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9xdC9Nb2R1bGVRdC5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViS2l0OjpNb2R1bGU6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpNb2R1bGU6OnVu
bG9hZCk6CisgICAgICAgIChXZWJLaXQ6Ok1vZHVsZTo6cGxhdGZvcm1GdW5jdGlvblBvaW50ZXIp
OgorICAgICAgICAqIFBsYXRmb3JtL3dpbi9Nb2R1bGVXaW4uY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYktpdDo6TW9kdWxlOjpsb2FkKToKKyAgICAgICAgKFdlYktpdDo6TW9kdWxlOjp1bmxvYWQp
OgorICAgICAgICAoV2ViS2l0OjpNb2R1bGU6OnBsYXRmb3JtRnVuY3Rpb25Qb2ludGVyKToKKyAg
ICAgICAgSnVzdCBzdHViYmVkIG91dCB0aGVzZSBmdW5jdGlvbnMuCisKKyAgICAgICAgKiBXZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZGVkIE1vZHVsZS4KKworICAgICAgICAq
IFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luTW9kdWxlOjp0cnlMb2FkKToKKyAgICAgICAg
KFdlYktpdDo6TmV0c2NhcGVQbHVnaW5Nb2R1bGU6OnVubG9hZCk6CisgICAgICAgIE1vdmVkIGhl
cmUgZnJvbSBOZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5jcHAuIE5vdyB1c2VzIHRoZQorICAgICAg
ICBjcm9zcy1wbGF0Zm9ybSBtX21vZHVsZSBtZW1iZXIuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5Nb2R1bGUuaDogUmVwbGFjZWQKKyAgICAg
ICAgbV9idW5kbGUgd2l0aCBtX21vZHVsZS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMuY3BwOiBSZW1vdmVkLgorCisg
ICAgICAgICogd2luL1dlYktpdDIudmNwcm9qOiBBZGRlZCBNb2R1bGUuCisKIDIwMTAtMDgtMDMg
IEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFR1cm4gb24gUExBVEZP
Uk1fU1RSQVRFR0lFUyBvbiBXaW5kb3dzCmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3JtL01v
ZHVsZS5jcHAgYi9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTJmZGQ0
N2E3MjExNjA5MWUwZTEyMTA4NTJiMzNlNDg1N2MzMDMyNAotLS0gL2Rldi9udWxsCisrKyBiL1dl
YktpdDIvUGxhdGZvcm0vTW9kdWxlLmNwcApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgIk1vZHVsZS5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK01vZHVsZTo6TW9kdWxlKGNvbnN0IFN0cmluZyYgcGF0aCkKKyAgICA6
IG1fcGF0aChwYXRoKQoreworfQorCitNb2R1bGU6On5Nb2R1bGUoKQoreworICAgIHVubG9hZCgp
OworfQorCit9CmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oIGIvV2ViS2l0
Mi9QbGF0Zm9ybS9Nb2R1bGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMjVkZDIyZDFmYzJkN2E3OTQ1M2Q2OGE2
NDYxYjUxZmEyZDAzMGUwCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1
bGUuaApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBNb2R1bGVfaAorI2Rl
ZmluZSBNb2R1bGVfaAorCisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybVN0cmluZy5oPgorI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorCisjaWYgUExBVEZPUk0oTUFDKQorI2luY2x1ZGUg
PHd0Zi9SZXRhaW5QdHIuaD4KKyNlbmRpZgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3Mg
TW9kdWxlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3B1YmxpYzoKKyAgICBNb2R1bGUoY29uc3Qg
V2ViQ29yZTo6U3RyaW5nJiBwYXRoKTsKKyAgICB+TW9kdWxlKCk7CisKKyAgICBib29sIGxvYWQo
KTsKKyAgICB2b2lkIHVubG9hZCgpOworI2lmIFBMQVRGT1JNKE1BQykKKyAgICB2b2lkIGxlYWtC
dW5kbGUoKSB7IG1fYnVuZGxlLnJlbGVhc2VSZWYoKTsgfQorI2VuZGlmCisKKyAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBGdW5jdGlvblR5cGU+IEZ1bmN0aW9uVHlwZSBmdW5jdGlvblBvaW50ZXIoY29u
c3QgY2hhciogZnVuY3Rpb25OYW1lKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICB2b2lkKiBwbGF0
Zm9ybUZ1bmN0aW9uUG9pbnRlcihjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUpIGNvbnN0OworCisg
ICAgV2ViQ29yZTo6U3RyaW5nIG1fcGF0aDsKKyNpZiBQTEFURk9STShNQUMpCisgICAgUmV0YWlu
UHRyPENGQnVuZGxlUmVmPiBtX2J1bmRsZTsKKyNlbmRpZgorfTsKKwordGVtcGxhdGU8dHlwZW5h
bWUgRnVuY3Rpb25UeXBlPiBGdW5jdGlvblR5cGUgTW9kdWxlOjpmdW5jdGlvblBvaW50ZXIoY29u
c3QgY2hhciogZnVuY3Rpb25OYW1lKSBjb25zdAoreworICAgIHJldHVybiByZWludGVycHJldF9j
YXN0PEZ1bmN0aW9uVHlwZT4ocGxhdGZvcm1GdW5jdGlvblBvaW50ZXIoZnVuY3Rpb25OYW1lKSk7
Cit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMuY3BwIGIvV2ViS2l0Mi9QbGF0
Zm9ybS9tYWMvTW9kdWxlTWFjLm1tCnNpbWlsYXJpdHkgaW5kZXggNTAlCnJlbmFtZSBmcm9tIFdl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVs
ZU1hYy5jcHAKcmVuYW1lIHRvIFdlYktpdDIvUGxhdGZvcm0vbWFjL01vZHVsZU1hYy5tbQppbmRl
eCA5NWIxOTFkZTI4YWFmZmU4ZDRhZjhkYWRlZjViODhmMjdiZGQ1MmUxLi5jOTQ4YTUxNzIxMTVk
YjdkMTYwZjk2OTllYTllMGE4NTFhMWU0MzFlIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMuY3BwCisrKyBi
L1dlYktpdDIvUGxhdGZvcm0vbWFjL01vZHVsZU1hYy5tbQpAQCAtMjMsNjIgKzIzLDM5IEBACiAg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2luY2x1ZGUgIk5ldHNj
YXBlUGx1Z2luTW9kdWxlLmgiCi0jaW5jbHVkZSAiTmV0c2NhcGVCcm93c2VyRnVuY3MuaCIKKyNp
bmNsdWRlICJNb2R1bGUuaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXZvaWQgTmV0c2NhcGVQ
bHVnaW5Nb2R1bGU6OnVubG9hZCgpCitib29sIE1vZHVsZTo6bG9hZCgpCiB7Ci0gICAgaWYgKG1f
YnVuZGxlKSB7Ci0gICAgICAgIC8vIFdlIGV4cGxpY2l0bHkgbGVhayB0aGUgYnVuZGxlIGhlcmUs
IHRvIGF2b2lkIGNyYXNoZXMgd2hlbiBhIGJ1bmRsZSBpcyB1bmxvYWRlZCBhbmQgdGhlcmUgYXJl
IGxpdmUgT2JqZWN0aXZlLUMgb2JqZWN0cwotICAgICAgICAvLyB3aG9zZSBtZXRob2RzIGNvbWUg
ZnJvbSB0aGF0IGJ1bmRsZS4KLSAgICAgICAgbV9idW5kbGUucmVsZWFzZVJlZigpOwotICAgIH0K
LX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgRnVuY1R5cGU+IAotc3RhdGljIGlubGluZSBGdW5jVHlw
ZSBwb2ludGVyVG9GdW5jdGlvbihDRkJ1bmRsZVJlZiBidW5kbGUsIGNvbnN0IGNoYXIqIGZ1bmN0
aW9uTmFtZSkKLXsKLSAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGZ1bmN0aW9uTmFtZVN0cmlu
ZyhBZG9wdENGLCBDRlN0cmluZ0NyZWF0ZVdpdGhDU3RyaW5nTm9Db3B5KGtDRkFsbG9jYXRvckRl
ZmF1bHQsIGZ1bmN0aW9uTmFtZSwga0NGU3RyaW5nRW5jb2RpbmdBU0NJSSwga0NGQWxsb2NhdG9y
TnVsbCkpOwotICAgIHJldHVybiByZWludGVycHJldF9jYXN0PEZ1bmNUeXBlPihDRkJ1bmRsZUdl
dEZ1bmN0aW9uUG9pbnRlckZvck5hbWUoYnVuZGxlLCBmdW5jdGlvbk5hbWVTdHJpbmcuZ2V0KCkp
KTsKLX0KLSAgICAKLWJvb2wgTmV0c2NhcGVQbHVnaW5Nb2R1bGU6OnRyeUxvYWQoKQotewotICAg
IFJldGFpblB0cjxDRlN0cmluZ1JlZj4gYnVuZGxlUGF0aChBZG9wdENGLCBtX3BsdWdpblBhdGgu
Y3JlYXRlQ0ZTdHJpbmcoKSk7Ci0gICAgUmV0YWluUHRyPENGVVJMUmVmPiBidW5kbGVVUkwoQWRv
cHRDRiwgQ0ZVUkxDcmVhdGVXaXRoRmlsZVN5c3RlbVBhdGgoMCwgYnVuZGxlUGF0aC5nZXQoKSwg
a0NGVVJMUE9TSVhQYXRoU3R5bGUsIEZBTFNFKSk7CisgICAgUmV0YWluUHRyPENGU3RyaW5nUmVm
PiBidW5kbGVQYXRoKEFkb3B0Q0YsIG1fcGF0aC5jcmVhdGVDRlN0cmluZygpKTsKKyAgICBSZXRh
aW5QdHI8Q0ZVUkxSZWY+IGJ1bmRsZVVSTChBZG9wdENGLCBDRlVSTENyZWF0ZVdpdGhGaWxlU3lz
dGVtUGF0aChrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBidW5kbGVQYXRoLmdldCgpLCBrQ0ZVUkxQT1NJ
WFBhdGhTdHlsZSwgRkFMU0UpKTsKICAgICBpZiAoIWJ1bmRsZVVSTCkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCi0gICAgbV9idW5kbGUuYWRvcHRDRihDRkJ1bmRsZUNyZWF0ZShrQ0ZBbGxvY2F0
b3JEZWZhdWx0LCBidW5kbGVVUkwuZ2V0KCkpKTsKLSAgICBpZiAoIW1fYnVuZGxlKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgCi0gICAgaWYgKCFDRkJ1bmRsZUxvYWRFeGVjdXRhYmxlKG1f
YnVuZGxlLmdldCgpKSkKKyAgICBSZXRhaW5QdHI8Q0ZCdW5kbGVSZWY+IGJ1bmRsZShBZG9wdENG
LCBDRkJ1bmRsZUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBidW5kbGVVUkwuZ2V0KCkpKTsK
KyAgICBpZiAoIWJ1bmRsZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgTlBfSW5pdGlh
bGl6ZUZ1bmNQdHIgaW5pdGlhbGl6ZUZ1bmNQdHIgPSBwb2ludGVyVG9GdW5jdGlvbjxOUF9Jbml0
aWFsaXplRnVuY1B0cj4obV9idW5kbGUuZ2V0KCksICJOUF9Jbml0aWFsaXplIik7Ci0gICAgaWYg
KCFpbml0aWFsaXplRnVuY1B0cikKKyAgICBpZiAoIUNGQnVuZGxlTG9hZEV4ZWN1dGFibGUoYnVu
ZGxlLmdldCgpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgTlBfR2V0RW50cnlQb2lu
dHNGdW5jUHRyIGdldEVudHJ5UG9pbnRzRnVuY1B0ciA9IHBvaW50ZXJUb0Z1bmN0aW9uPE5QX0dl
dEVudHJ5UG9pbnRzRnVuY1B0cj4obV9idW5kbGUuZ2V0KCksICJOUF9HZXRFbnRyeVBvaW50cyIp
OwotICAgIGlmICghZ2V0RW50cnlQb2ludHNGdW5jUHRyKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICBtX3NodXRkb3duUHJvY1B0ciA9IHBvaW50ZXJUb0Z1bmN0aW9uPE5QUF9TaHV0ZG93
blByb2NQdHI+KG1fYnVuZGxlLmdldCgpLCAiTlBfU2h1dGRvd24iKTsKLSAgICBpZiAoIW1fc2h1
dGRvd25Qcm9jUHRyKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgbV9idW5kbGUuYWRvcHRD
RihidW5kbGUucmVsZWFzZVJlZigpKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KIAotICAgIGlmIChp
bml0aWFsaXplRnVuY1B0cihuZXRzY2FwZUJyb3dzZXJGdW5jcygpKSAhPSBOUEVSUl9OT19FUlJP
UikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAotICAgIG1fcGx1Z2luRnVuY3Muc2l6ZSA9
IHNpemVvZihOUFBsdWdpbkZ1bmNzKTsKLSAgICBtX3BsdWdpbkZ1bmNzLnZlcnNpb24gPSAoTlBf
VkVSU0lPTl9NQUpPUiA8PCA4KSB8IE5QX1ZFUlNJT05fTUlOT1I7Ci0gICAgaWYgKGdldEVudHJ5
UG9pbnRzRnVuY1B0cigmbV9wbHVnaW5GdW5jcykgIT0gTlBFUlJfTk9fRVJST1IpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKK3ZvaWQgTW9kdWxlOjp1bmxvYWQoKQoreworICAgIG1fYnVuZGxlID0g
MDsKK30KIAotICAgIHJldHVybiB0cnVlOwordm9pZCogTW9kdWxlOjpwbGF0Zm9ybUZ1bmN0aW9u
UG9pbnRlcihjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUpIGNvbnN0Cit7CisgICAgaWYgKCFtX2J1
bmRsZSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBmdW5j
dGlvbk5hbWVTdHJpbmcoQWRvcHRDRiwgQ0ZTdHJpbmdDcmVhdGVXaXRoQ1N0cmluZ05vQ29weShr
Q0ZBbGxvY2F0b3JEZWZhdWx0LCBmdW5jdGlvbk5hbWUsIGtDRlN0cmluZ0VuY29kaW5nQVNDSUks
IGtDRkFsbG9jYXRvck51bGwpKTsKKyAgICByZXR1cm4gQ0ZCdW5kbGVHZXRGdW5jdGlvblBvaW50
ZXJGb3JOYW1lKG1fYnVuZGxlLmdldCgpLCBmdW5jdGlvbk5hbWVTdHJpbmcuZ2V0KCkpOwogfQog
Ci19IC8vIG5hbWVzcGFjZSBXZWJLaXQKK30KZGlmZiAtLWdpdCBhL1dlYktpdDIvUGxhdGZvcm0v
cXQvTW9kdWxlUXQuY3BwIGIvV2ViS2l0Mi9QbGF0Zm9ybS9xdC9Nb2R1bGVRdC5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTNiZWUxYjg2MWZlN2FjNjlmZDc0Y2RjMmNhYTk5NjQ2MTc2MzYwNgotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYktpdDIvUGxhdGZvcm0vcXQvTW9kdWxlUXQuY3BwCkBAIC0wLDAgKzEsNDkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiTW9kdWxlLmgiCisKKyNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworYm9vbCBNb2R1bGU6OmxvYWQoKQor
eworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIE1v
ZHVsZTo6dW5sb2FkKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkKiBNb2R1
bGU6OnBsYXRmb3JtRnVuY3Rpb25Qb2ludGVyKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSkgY29u
c3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAwOworfQorCit9CmRpZmYg
LS1naXQgYS9XZWJLaXQyL1BsYXRmb3JtL3dpbi9Nb2R1bGVXaW4uY3BwIGIvV2ViS2l0Mi9QbGF0
Zm9ybS93aW4vTW9kdWxlV2luLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41M2JlZTFiODYxZmU3YWM2OWZkNzRj
ZGMyY2FhOTk2NDYxNzYzNjA2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0Mi9QbGF0Zm9ybS93
aW4vTW9kdWxlV2luLmNwcApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
Ik1vZHVsZS5oIgorCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK2Jvb2wgTW9kdWxlOjpsb2FkKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOwor
ICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBNb2R1bGU6OnVubG9hZCgpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCogTW9kdWxlOjpwbGF0Zm9ybUZ1bmN0aW9uUG9pbnRl
cihjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICByZXR1cm4gMDsKK30KKworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCBmNmI0NTE2MjljOWY1NGY0YjU2ZGVhYTAxMTc3ZWU5ZjQ0MDI3ZjQ1
Li5mNzFjNGMwMjFkNzU3Mjc1NTJlYjg2MDRjYTU5NWJmNDRmMWM5ODhjIDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjEsNyArNjEsNiBAQAogCQkxQTZG
QjdEMzExRTY1MUUyMDBEQjEzNzEgLyogUGx1Z2luLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTZGQjdEMTExRTY1MUUyMDBEQjEzNzEgLyogUGx1Z2lu
LmggKi87IH07CiAJCTFBNkZCOTBCMTFFNjZGQkMwMERCMTM3MSAvKiBOZXRzY2FwZVBsdWdpbk1v
ZHVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE2
RkI5MDkxMUU2NkZCQzAwREIxMzcxIC8qIE5ldHNjYXBlUGx1Z2luTW9kdWxlLmggKi87IH07CiAJ
CTFBNkZCOTBDMTFFNjZGQkMwMERCMTM3MSAvKiBOZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTZGQjkwQTExRTY2
RkJDMDBEQjEzNzEgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwICovOyB9OwotCQkxQTZGQkEw
MzExRTY4MTNFMDBEQjEzNzEgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGVNYWMuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE2RkJBMDIxMUU2ODEzRTAw
REIxMzcxIC8qIE5ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLmNwcCAqLzsgfTsKIAkJMUE2RkJBMkEx
MUU2ODYyNzAwREIxMzcxIC8qIE5ldHNjYXBlQnJvd3NlckZ1bmNzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTZGQkEyODExRTY4NjI3MDBEQjEzNzEg
LyogTmV0c2NhcGVCcm93c2VyRnVuY3MuaCAqLzsgfTsKIAkJMUE2RkJBMkIxMUU2ODYyNzAwREIx
MzcxIC8qIE5ldHNjYXBlQnJvd3NlckZ1bmNzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNkZCQTI5MTFFNjg2MjcwMERCMTM3MSAvKiBOZXRzY2Fw
ZUJyb3dzZXJGdW5jcy5jcHAgKi87IH07CiAJCTFBNkZCRDI4MTFFNjlCQzIwMERCMTM3MSAvKiBO
ZXRzY2FwZVBsdWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUE2RkJEMjYxMUU2OUJDMjAwREIxMzcxIC8qIE5ldHNjYXBlUGx1Z2luLmggKi87IH07
CkBAIC0yNjgsNiArMjY3LDkgQEAKIAkJQkNGNjlGQTMxMTc2RDAxNDAwNDcxQTUyIC8qIFdlYk5h
dmlnYXRpb25EYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDRjY5RkExMTE3NkQwMTQwMDQ3MUE1MiAvKiBXZWJOYXZpZ2F0aW9uRGF0YS5jcHAg
Ki87IH07CiAJCUJDRjY5RkE5MTE3NkQxQ0IwMDQ3MUE1MiAvKiBXS05hdmlnYXRpb25EYXRhLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2OUZBNzEx
NzZEMUNCMDA0NzFBNTIgLyogV0tOYXZpZ2F0aW9uRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJQkNGNjlGQUExMTc2RDFDQjAwNDcxQTUyIC8q
IFdLTmF2aWdhdGlvbkRhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNGNjlGQTgxMTc2RDFDQjAwNDcxQTUyIC8qIFdLTmF2aWdhdGlvbkRhdGEu
Y3BwICovOyB9OworCQlDMEUzQUE3QTEyMDlFODMwMDBBNDlEMDEgLyogTW9kdWxlTWFjLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBFM0FBNDgxMjA5
RTQ1MDAwQTQ5RDAxIC8qIE1vZHVsZU1hYy5tbSAqLzsgfTsKKwkJQzBFM0FBN0IxMjA5RTgzNTAw
QTQ5RDAxIC8qIE1vZHVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDMEUzQUE0NTEyMDlFMkJBMDBBNDlEMDEgLyogTW9kdWxlLmNwcCAqLzsgfTsK
KwkJQzBFM0FBN0MxMjA5RTgzQzAwQTQ5RDAxIC8qIE1vZHVsZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBFM0FBNDQxMjA5RTJCQTAwQTQ5RDAxIC8q
IE1vZHVsZS5oICovOyB9OwogCQlEM0I5NDg0NjExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBN
ZW51LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQz
Qjk0ODQyMTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuY3BwICovOyB9OwogCQlEM0I5
NDg0NzExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEM0I5NDg0MzExRkY0QjY1MDAwMzJCMzkgLyog
V2ViUG9wdXBNZW51LmggKi87IH07CiAJCUQzQjk0ODQ4MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJT
ZWFyY2hQb3B1cE1lbnUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRDNCOTQ4NDQxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBvcHVwTWVudS5j
cHAgKi87IH07CkBAIC0zNjEsNyArMzYzLDYgQEAKIAkJMUE2RkI3RDExMUU2NTFFMjAwREIxMzcx
IC8qIFBsdWdpbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW4uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE2RkI5MDkxMUU2NkZCQzAwREIxMzcxIC8q
IE5ldHNjYXBlUGx1Z2luTW9kdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IE5ldHNjYXBlUGx1Z2luTW9kdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFB
NkZCOTBBMTFFNjZGQkMwMERCMTM3MSAvKiBOZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBNkZCQTAyMTFFNjgxM0UwMERCMTM3MSAv
KiBOZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBOZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTFBNkZCQTI4MTFFNjg2MjcwMERCMTM3MSAvKiBOZXRzY2FwZUJyb3dzZXJG
dW5jcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXRzY2FwZUJyb3dzZXJG
dW5jcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTZGQkEyOTExRTY4NjI3MDBE
QjEzNzEgLyogTmV0c2NhcGVCcm93c2VyRnVuY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTmV0c2NhcGVCcm93c2VyRnVuY3MuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQTZGQkQyNjExRTY5QkMyMDBEQjEzNzEgLyogTmV0c2NhcGVQbHVnaW4u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0c2NhcGVQbHVnaW4uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU3NCw2ICs1NzUsOSBAQAogCQlCQ0Y2OUZBMTEx
NzZEMDE0MDA0NzFBNTIgLyogV2ViTmF2aWdhdGlvbkRhdGEuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTmF2aWdhdGlvbkRhdGEuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCQ0Y2OUZBNzExNzZEMUNCMDA0NzFBNTIgLyogV0tOYXZpZ2F0aW9u
RGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS05hdmlnYXRpb25EYXRh
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjY5RkE4MTE3NkQxQ0IwMDQ3MUE1
MiAvKiBXS05hdmlnYXRpb25EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdLTmF2aWdhdGlvbkRhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlDMEUzQUE0NDEyMDlFMkJBMDBBNDlEMDEgLyogTW9kdWxlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE1vZHVsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlD
MEUzQUE0NTEyMDlFMkJBMDBBNDlEMDEgLyogTW9kdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IE1vZHVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUMwRTNBQTQ4MTIwOUU0NTAwMEE0OUQwMSAvKiBNb2R1bGVNYWMubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBNb2R1bGVNYWMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUQzQjk0ODQyMTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUG9wdXBNZW51LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDNCOTQ4NDMxMUZGNEI2NTAwMDMyQjM5
IC8qIFdlYlBvcHVwTWVudS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQ
b3B1cE1lbnUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDNCOTQ4NDQxMUZGNEI2
NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBvcHVwTWVudS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXZWJTZWFyY2hQb3B1cE1lbnUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNzQ4LDcgKzc1Miw2IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKAogCQkJCTFBRTVCN0Y5MTFFN0FFRDIwMEJBNjc2NyAvKiBOZXRzY2FwZVBsdWdp
bk1hYy5tbSAqLywKLQkJCQkxQTZGQkEwMjExRTY4MTNFMDBEQjEzNzEgLyogTmV0c2NhcGVQbHVn
aW5Nb2R1bGVNYWMuY3BwICovLAogCQkJKTsKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOwpAQCAtNzU4LDYgKzc2MSw3IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQkx
QTI0QjVGMDExRjUzMUU4MDBDMzgyNjkgLyogTWFjaFV0aWxpdGllcy5jcHAgKi8sCiAJCQkJMUEy
NEI1RjExMUY1MzFFODAwQzM4MjY5IC8qIE1hY2hVdGlsaXRpZXMuaCAqLywKKwkJCQlDMEUzQUE0
ODEyMDlFNDUwMDBBNDlEMDEgLyogTW9kdWxlTWFjLm1tICovLAogCQkJCUJDMDA5MkY1MTE1ODM3
QTMwMEUwQUUyQSAvKiBSdW5Mb29wTWFjLm1tICovLAogCQkJCUJDMDA5MkY2MTE1ODM3QTMwMEUw
QUUyQSAvKiBXb3JrUXVldWVNYWMuY3BwICovLAogCQkJKTsKQEAgLTExNDQsNiArMTE0OCw4IEBA
CiAJCQljaGlsZHJlbiA9ICgKIAkJCQkxQUI1QTFCQTEwRTAyMUQzMDA0MEY2Q0YgLyogQ29yZUlQ
QyAqLywKIAkJCQkxQTdFODE0RTExNTJEMjI0MDAwMzY5NUIgLyogbWFjICovLAorCQkJCUMwRTNB
QTQ1MTIwOUUyQkEwMEE0OUQwMSAvKiBNb2R1bGUuY3BwICovLAorCQkJCUMwRTNBQTQ0MTIwOUUy
QkEwMEE0OUQwMSAvKiBNb2R1bGUuaCAqLywKIAkJCQlCQzg3ODBGQjExNjFDMkI4MDBDQzI3Njgg
LyogUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllci5oICovLAogCQkJCUJDMkU2RTc3MTE0MTk3MEMw
MEE2M0IxRSAvKiBSdW5Mb29wLmNwcCAqLywKIAkJCQlCQzJFNkU3ODExNDE5NzBDMDBBNjNCMUUg
LyogUnVuTG9vcC5oICovLApAQCAtMTM0Niw2ICsxMzUyLDcgQEAKIAkJCQlEM0I5NDg0NzExRkY0
QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmggaW4gSGVhZGVycyAqLywKIAkJCQlEM0I5NDg0
OTExRkY0QjY1MDAwMzJCMzkgLyogV2ViU2VhcmNoUG9wdXBNZW51LmggaW4gSGVhZGVycyAqLywK
IAkJCQkwRkI2NTkyMzEyMDhCNERCMDA0NDgxNkMgLyogRHJhd2luZ0FyZWFCYXNlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlDMEUzQUE3QzEyMDlFODNDMDBBNDlEMDEgLyogTW9kdWxlLmggaW4gSGVh
ZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKIAkJfTsKQEAgLTE0NjYsNyArMTQ3Myw2IEBACiAJCQkJMUE2RkJEMjkxMUU2OUJDMjAwREIx
MzcxIC8qIE5ldHNjYXBlUGx1Z2luLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBRTVCN0ZCMTFF
N0FFRDIwMEJBNjc2NyAvKiBOZXRzY2FwZVBsdWdpbk1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTFBNkZCOTBDMTFFNjZGQkMwMERCMTM3MSAvKiBOZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQkxQTZGQkEwMzExRTY4MTNFMDBEQjEzNzEgLyogTmV0c2NhcGVQbHVn
aW5Nb2R1bGVNYWMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFBNTg4OTMxMUVFNzA0MDAwNjFC
ODgyIC8qIE5ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMTEx
QjUxMTEyRjYxOTIwMDMzN0JBQiAvKiBQYWdlQ2xpZW50SW1wbC5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTFBNkZCN0QyMTFFNjUxRTIwMERCMTM3MSAvKiBQbHVnaW4uY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC0xNTUwLDYgKzE1NTYsOCBAQAogCQkJCUQzQjk0ODQ2MTFGRjRCNjUwMDAzMkIzOSAvKiBX
ZWJQb3B1cE1lbnUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDNCOTQ4NDgxMUZGNEI2NTAwMDMy
QjM5IC8qIFdlYlNlYXJjaFBvcHVwTWVudS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkI2NTlB
NjEyMDhCOUVFMDA0NDgxNkMgLyogRHJhd2luZ0FyZWFCYXNlLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUMwRTNBQTdBMTIwOUU4MzAwMEE0OUQwMSAvKiBNb2R1bGVNYWMubW0gaW4gU291cmNlcyAq
LywKKwkJCQlDMEUzQUE3QjEyMDlFODM1MDBBNDlEMDEgLyogTW9kdWxlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwog
CQl9OwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0
c2NhcGVQbHVnaW5Nb2R1bGUuY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwCmluZGV4IGM1ZTFlYWE4OGI2MThjNjNmZjk1Zjgy
ZDg5OThhODEyZGFiMTM0NjUuLjU2YWE2MGQxMmQzZDgwZTcwMjg4M2JlMWI3YWRhM2M1MDVjMGIx
Y2EgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNj
YXBlUGx1Z2luTW9kdWxlLmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAKQEAgLTI1LDYgKzI1LDEwIEBACiAKICNpbmNs
dWRlICJOZXRzY2FwZVBsdWdpbk1vZHVsZS5oIgogCisjaW5jbHVkZSAiTW9kdWxlLmgiCisjaW5j
bHVkZSAiTmV0c2NhcGVCcm93c2VyRnVuY3MuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgorCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0x
MDksNSArMTEzLDQ0IEBAIGJvb2wgTmV0c2NhcGVQbHVnaW5Nb2R1bGU6OmxvYWQoKQogICAgIHJl
dHVybiB0cnVlOwogfQogCitib29sIE5ldHNjYXBlUGx1Z2luTW9kdWxlOjp0cnlMb2FkKCkKK3sK
KyAgICBtX21vZHVsZSA9IGFkb3B0UHRyKG5ldyBNb2R1bGUobV9wbHVnaW5QYXRoKSk7CisgICAg
aWYgKCFtX21vZHVsZS0+bG9hZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBOUF9J
bml0aWFsaXplRnVuY1B0ciBpbml0aWFsaXplRnVuY1B0ciA9IG1fbW9kdWxlLT5mdW5jdGlvblBv
aW50ZXI8TlBfSW5pdGlhbGl6ZUZ1bmNQdHI+KCJOUF9Jbml0aWFsaXplIik7CisgICAgaWYgKCFp
bml0aWFsaXplRnVuY1B0cikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgTlBfR2V0RW50
cnlQb2ludHNGdW5jUHRyIGdldEVudHJ5UG9pbnRzRnVuY1B0ciA9IG1fbW9kdWxlLT5mdW5jdGlv
blBvaW50ZXI8TlBfR2V0RW50cnlQb2ludHNGdW5jUHRyPigiTlBfR2V0RW50cnlQb2ludHMiKTsK
KyAgICBpZiAoIWdldEVudHJ5UG9pbnRzRnVuY1B0cikKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgbV9zaHV0ZG93blByb2NQdHIgPSBtX21vZHVsZS0+ZnVuY3Rpb25Qb2ludGVyPE5QUF9T
aHV0ZG93blByb2NQdHI+KCJOUF9TaHV0ZG93biIpOworICAgIGlmICghbV9zaHV0ZG93blByb2NQ
dHIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChpbml0aWFsaXplRnVuY1B0cihu
ZXRzY2FwZUJyb3dzZXJGdW5jcygpKSAhPSBOUEVSUl9OT19FUlJPUikKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgbV9wbHVnaW5GdW5jcy5zaXplID0gc2l6ZW9mKE5QUGx1Z2luRnVuY3Mp
OworICAgIG1fcGx1Z2luRnVuY3MudmVyc2lvbiA9IChOUF9WRVJTSU9OX01BSk9SIDw8IDgpIHwg
TlBfVkVSU0lPTl9NSU5PUjsKKyAgICBpZiAoZ2V0RW50cnlQb2ludHNGdW5jUHRyKCZtX3BsdWdp
bkZ1bmNzKSAhPSBOUEVSUl9OT19FUlJPUikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
cmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgTmV0c2NhcGVQbHVnaW5Nb2R1bGU6OnVubG9hZCgpCit7
CisjaWYgUExBVEZPUk0oTUFDKQorICAgIC8vIFdlIGV4cGxpY2l0bHkgbGVhayB0aGUgYnVuZGxl
IGhlcmUsIHRvIGF2b2lkIGNyYXNoZXMgd2hlbiBhIGJ1bmRsZSBpcyB1bmxvYWRlZCBhbmQgdGhl
cmUgYXJlIGxpdmUgT2JqZWN0aXZlLUMgb2JqZWN0cworICAgIC8vIHdob3NlIG1ldGhvZHMgY29t
ZSBmcm9tIHRoYXQgYnVuZGxlLgorICAgIG1fbW9kdWxlLT5sZWFrQnVuZGxlKCk7CisjZW5kaWYK
KyAgICBtX21vZHVsZSA9IDA7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbk1v
ZHVsZS5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVn
aW5Nb2R1bGUuaAppbmRleCA0MWYzNzI5OGFlYmRjYzkwOGI4N2I2ZDlkOWEyYzk5YWM3OTVhOWQy
Li4zYWM1NDc0YmQxYzdmYjk3NjI2MzMwYzQwYTIwYWY3NzdmN2I1NDE3IDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbk1vZHVsZS5o
CisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2lu
TW9kdWxlLmgKQEAgLTI2LDE0ICsyNiwxMSBAQAogI2lmbmRlZiBOZXRzY2FwZVBsdWdpbk1vZHVs
ZV9oCiAjZGVmaW5lIE5ldHNjYXBlUGx1Z2luTW9kdWxlX2gKIAotI2luY2x1ZGUgPFdlYkNvcmUv
bnBmdW5jdGlvbnMuaD4KKyNpbmNsdWRlICJNb2R1bGUuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Bs
YXRmb3JtU3RyaW5nLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9ucGZ1bmN0aW9ucy5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKLSNpZiBQTEFURk9STShNQUMpCi0jaW5jbHVkZSA8d3Rm
L1JldGFpblB0ci5oPgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBOZXRz
Y2FwZVBsdWdpbk1vZHVsZSA6IHB1YmxpYyBSZWZDb3VudGVkPE5ldHNjYXBlUGx1Z2luTW9kdWxl
PiB7CkBAIC02Miw5ICs1OSw3IEBAIHByaXZhdGU6CiAgICAgTlBQX1NodXRkb3duUHJvY1B0ciBt
X3NodXRkb3duUHJvY1B0cjsKICAgICBOUFBsdWdpbkZ1bmNzIG1fcGx1Z2luRnVuY3M7CiAKLSNp
ZiBQTEFURk9STShNQUMpCi0gICAgUmV0YWluUHRyPENGQnVuZGxlUmVmPiBtX2J1bmRsZTsKLSNl
bmRpZgorICAgIE93blB0cjxNb2R1bGU+IG1fbW9kdWxlOwogfTsKICAgICAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2ogYi9XZWJL
aXQyL3dpbi9XZWJLaXQyLnZjcHJvagppbmRleCAzMDA0Mzg5Mjk2ODI3NjdiNzk3MTdlMzZlYzRj
MzUwMDM2NDVkYTAyLi5mNTk3MzljYzBiZjk0MDdmM2U3ZjI0OWZiYWQ5YzBlYjA1OWZhNWRiIDEw
MDc1NQotLS0gYS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagorKysgYi9XZWJLaXQyL3dpbi9X
ZWJLaXQyLnZjcHJvagpAQCAtMTMxNyw2ICsxMzE3LDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4N
CiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFBsYXRmb3JtXE1vZHVsZS5jcHAiDQor
CQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxQbGF0
Zm9ybVxNb2R1bGUuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXFBsYXRmb3JtXFJ1bkxvb3AuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0K
QEAgLTEzNDAsNiArMTM0OCwxMCBAQAogCQkJCU5hbWU9IndpbiINCiAJCQkJPg0KIAkJCQk8Rmls
ZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxQbGF0Zm9ybVx3aW5cTW9kdWxlV2luLmNwcCINCisJ
CQkJCT4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxQ
bGF0Zm9ybVx3aW5cUnVuTG9vcFdpbi5jcHAiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4NCg==
</data>
<flag name="review"
          id="51837"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>