<?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>25087</bug_id>
          
          <creation_ts>2009-04-07 17:49:38 -0700</creation_ts>
          <short_desc>Test for ENABLE_FOO macros consistently in IDL files</short_desc>
          <delta_ts>2009-05-12 07:42:54 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>ap</cc>
    
    <cc>aroben</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>kevino</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>mrowe</cc>
    
    <cc>timothy</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>116825</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-04-07 17:49:38 -0700</bug_when>
    <thetext>* SUMMARY
Currently IDL files have a mix of macro testing styles:

#if ENABLE_FOO
#if defined(ENABLE_FOO)

There should be only one style used and it should be used consistently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116827</commentid>
    <comment_count>1</comment_count>
      <attachid>29322</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-04-07 17:56:07 -0700</bug_when>
    <thetext>Created attachment 29322
Patch v1

Proposed fix.

All the ports appear to be using the generate-bindings.pl script and only defining macros if they intend the feature to be enabled, so I propose changing:

#if ENABLE_FOO

to:

#if defined(ENABLE_FOO)

rather than:

#if defined(ENABLE_FOO) &amp;&amp; ENABLE_FOO

Since there is currently a mix of the first two (and there are no apparent build issues), I think this is safe to do.  Comments?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120644</commentid>
    <comment_count>2</comment_count>
      <attachid>29322</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-11 06:08:54 -0700</bug_when>
    <thetext>Comment on attachment 29322
Patch v1

Seems something like ENABLE(SVG) would read better.  I guess this is fine though.  WebKit can haz real idl parser/preprocessor plz?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120649</commentid>
    <comment_count>3</comment_count>
      <attachid>29322</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-05-11 06:50:10 -0700</bug_when>
    <thetext>Comment on attachment 29322
Patch v1

Actually, an internal review asked them to be changed to:

#if defined(ENABLE_FOO) &amp;&amp; ENABLE_FOO

Clearing review flag to redo the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120652</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-05-11 06:51:49 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; WebKit can haz real idl parser/preprocessor plz?

Sounds like a discussion topic for webkit-dev.  (Also, I&apos;m not sure what makes a real vs. non-real IDL parser.)
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120719</commentid>
    <comment_count>5</comment_count>
      <attachid>30202</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-05-11 13:59:25 -0700</bug_when>
    <thetext>Created attachment 30202
Patch v2

Change tests for ENABLE macros to check for both existance and value:

- Negative:  #if !defined(ENABLE_FOO) || !ENABLE_FOO
- Positive:  #if defined(ENABLE_FOO) &amp;&amp; ENABLE_FOO</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120720</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-05-11 14:00:34 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Change tests for ENABLE macros to check for both existance and value:

Typo: existence
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120722</commentid>
    <comment_count>7</comment_count>
      <attachid>30202</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-05-11 14:08:28 -0700</bug_when>
    <thetext>Comment on attachment 30202
Patch v2

Thanks for fixing this!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120747</commentid>
    <comment_count>8</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-05-11 17:15:21 -0700</bug_when>
    <thetext>$ git svn dcommit
Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/css/CSSCharsetRule.idl
	M	WebCore/css/CSSPrimitiveValue.idl
	M	WebCore/css/RGBColor.idl
	M	WebCore/dom/Attr.idl
	M	WebCore/dom/DOMCoreException.idl
	M	WebCore/dom/DOMImplementation.idl
	M	WebCore/dom/Document.idl
	M	WebCore/dom/Element.idl
	M	WebCore/dom/Event.idl
	M	WebCore/dom/EventException.idl
	M	WebCore/dom/KeyboardEvent.idl
	M	WebCore/dom/MessagePort.idl
	M	WebCore/dom/MouseEvent.idl
	M	WebCore/dom/Node.idl
	M	WebCore/dom/ProcessingInstruction.idl
	M	WebCore/dom/Range.idl
	M	WebCore/dom/RangeException.idl
	M	WebCore/dom/WheelEvent.idl
	M	WebCore/html/CanvasPixelArray.idl
	M	WebCore/html/HTMLAnchorElement.idl
	M	WebCore/html/HTMLAppletElement.idl
	M	WebCore/html/HTMLAreaElement.idl
	M	WebCore/html/HTMLBaseFontElement.idl
	M	WebCore/html/HTMLCanvasElement.idl
	M	WebCore/html/HTMLDocument.idl
	M	WebCore/html/HTMLElement.idl
	M	WebCore/html/HTMLEmbedElement.idl
	M	WebCore/html/HTMLFrameElement.idl
	M	WebCore/html/HTMLIFrameElement.idl
	M	WebCore/html/HTMLImageElement.idl
	M	WebCore/html/HTMLInputElement.idl
	M	WebCore/html/HTMLLinkElement.idl
	M	WebCore/html/HTMLObjectElement.idl
	M	WebCore/html/HTMLOptionElement.idl
	M	WebCore/html/HTMLOptionsCollection.idl
	M	WebCore/html/HTMLSelectElement.idl
	M	WebCore/html/HTMLStyleElement.idl
	M	WebCore/html/ImageData.idl
	M	WebCore/inspector/InspectorController.idl
	M	WebCore/loader/appcache/DOMApplicationCache.idl
	M	WebCore/page/Console.idl
	M	WebCore/page/Coordinates.idl
	M	WebCore/page/DOMSelection.idl
	M	WebCore/page/DOMWindow.idl
	M	WebCore/page/Geoposition.idl
	M	WebCore/page/History.idl
	M	WebCore/page/Location.idl
	M	WebCore/page/Navigator.idl
	M	WebCore/svg/SVGElementInstance.idl
	M	WebCore/svg/SVGException.idl
	M	WebCore/workers/WorkerContext.idl
	M	WebCore/xml/XMLHttpRequestException.idl
	M	WebCore/xml/XPathException.idl
Committed r43528

http://trac.webkit.org/changeset/43528
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120814</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-05-12 02:04:15 -0700</bug_when>
    <thetext>It would be nice to have an explanation for posterity about why

#if defined(ENABLE_FOO) &amp;&amp; ENABLE_FOO

is better than

#if ENABLE_FOO

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120844</commentid>
    <comment_count>10</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-05-12 07:38:54 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; It would be nice to have an explanation for posterity about why
&gt; 
&gt; #if defined(ENABLE_FOO) &amp;&amp; ENABLE_FOO
&gt; 
&gt; is better than
&gt; 
&gt; #if ENABLE_FOO

My understanding is that it&apos;s safer, so that this is insufficient:

#define ENABLE_FOO

Thus you must specifically set ENABLE_FOO to a boolean true value to enable the feature:

#define ENABLE_FOO 1

Also, the above double-check is what the ENABLE() macro does in JavaScriptCore/wtf/Platform.h, so doing the same thing above matches behavior in the source code.

If we got fancy, we could #include &lt;wtf/Platform.h&gt; when preprocessing IDL files so that we could just say this instead:

#if ENABLE(FOO)

Perhaps that&apos;s worth a follow-up bug?  (The tricky part about doing this is getting the compiler flags to reasonably match when including the Platform.h file so that you get the same behavior when preprocessing IDL files as you do when compiling source files.  Maybe it&apos;s enough to duplicate just the ENABLE() macro definition for this purpose.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120847</commentid>
    <comment_count>11</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-05-12 07:42:54 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Perhaps that&apos;s worth a follow-up bug?  (The tricky part about doing this is
&gt; getting the compiler flags to reasonably match when including the Platform.h
&gt; file so that you get the same behavior when preprocessing IDL files as you do
&gt; when compiling source files.  Maybe it&apos;s enough to duplicate just the ENABLE()
&gt; macro definition for this purpose.)

I filed Bug 25727.
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29322</attachid>
            <date>2009-04-07 17:56:07 -0700</date>
            <delta_ts>2009-05-11 13:59:25 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>make-IDL-if-defined-consistent.txt</filename>
            <type>text/plain</type>
            <size>9228</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">Y29tbWl0IDk5ZDZjNmRkNjhhNWE3YmMxMzkyZGVkNjQ3MzllNjAyMWJhYzI1NmIKQXV0aG9yOiBE
YXZpZCBLaWx6ZXIgPGRka2lsemVyQGFwcGxlLmNvbT4KRGF0ZTogICBTYXQgQXByIDQgMDg6Mzk6
NDAgMjAwOSAtMDcwMAoKICAgICAgICAgICAgVXNlICNpZiBkZWZpbmVkKEVOQUJMRV9GT08pIGNv
bnNpc3RlbnRseSBpbiBJREwgZmlsZXMKICAgIAogICAgICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KICAgIAogICAgICAgICAgICBTaW5jZSBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBl
aXRoZXIgZGVmaW5lcyBvciBkb2Vzbid0IGRlZmluZQogICAgICAgICAgICBFTkFCTEUgbWFjcm9z
LCB1c2UgI2lmIGRlZmluZWQoRU5BQkxFX0ZPTykgaW5zdGVhZCBvZgogICAgICAgICAgICAjaWYg
RU5BQkxFX0ZPTyBpbiBhbGwgKi5pZGwgZmlsZXMuCiAgICAKICAgICAgICAgICAgKiBkb20vRG9j
dW1lbnQuaWRsOgogICAgICAgICAgICAqIGh0bWwvSFRNTEVtYmVkRWxlbWVudC5pZGw6CiAgICAg
ICAgICAgICogaHRtbC9IVE1MRnJhbWVFbGVtZW50LmlkbDoKICAgICAgICAgICAgKiBodG1sL0hU
TUxJRnJhbWVFbGVtZW50LmlkbDoKICAgICAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50
LmlkbDoKICAgICAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5pZGw6CiAg
ICAgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaWRsOgogICAg
ICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKICAgICAgICAgICAgKiBwYWdlL05hdmlnYXRv
ci5pZGw6CgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCA0ZjYwM2FjLi43YmYwOWY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDA5LTA0LTA0ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlICNpZiBkZWZpbmVk
KEVOQUJMRV9GT08pIGNvbnNpc3RlbnRseSBpbiBJREwgZmlsZXMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5jZSBnZW5lcmF0ZS1iaW5kaW5ncy5w
bCBlaXRoZXIgZGVmaW5lcyBvciBkb2Vzbid0IGRlZmluZQorICAgICAgICBFTkFCTEUgbWFjcm9z
LCB1c2UgI2lmIGRlZmluZWQoRU5BQkxFX0ZPTykgaW5zdGVhZCBvZgorICAgICAgICAjaWYgRU5B
QkxFX0ZPTyBpbiBhbGwgKi5pZGwgZmlsZXMuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaWRs
OgorICAgICAgICAqIGh0bWwvSFRNTEVtYmVkRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9I
VE1MRnJhbWVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJRnJhbWVFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5pZGw6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hl
L0RPTUFwcGxpY2F0aW9uQ2FjaGUuaWRsOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoK
KyAgICAgICAgKiBwYWdlL05hdmlnYXRvci5pZGw6CisKIDIwMDktMDQtMDIgIFlhZWwgQWhhcm9u
ICA8eWFlbC5haGFyb25Abm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhh
dXNtYW5uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsIGIvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaWRsCmluZGV4IDM1NDNjYzcuLjhhYzE5MDcgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmlkbAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKQEAgLTEx
Niw3ICsxMTYsNyBAQCBtb2R1bGUgY29yZSB7CiAKICAgICAgICAgW09sZFN0eWxlT2JqQ10gQ1NT
U3R5bGVEZWNsYXJhdGlvbiBnZXRPdmVycmlkZVN0eWxlKGluIEVsZW1lbnQgZWxlbWVudCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGluIERPTVN0cmluZyBwc2V1ZG9FbGVtZW50KTsKLSNpZiBFTkFCTEVfWFBBVEgKKyNpZiBkZWZp
bmVkKEVOQUJMRV9YUEFUSCkKICAgICAgICAgLy8gRE9NIExldmVsIDMgWFBhdGggKFhQYXRoRXZh
bHVhdG9yIGludGVyZmFjZSkKICAgICAgICAgW09sZFN0eWxlT2JqQ10gWFBhdGhFeHByZXNzaW9u
IGNyZWF0ZUV4cHJlc3Npb24oaW4gRE9NU3RyaW5nIGV4cHJlc3Npb24sCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFhQYXRoTlNSZXNv
bHZlciByZXNvbHZlcikKQEAgLTIzOSw3ICsyMzksNyBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAg
IE5vZGVMaXN0IHF1ZXJ5U2VsZWN0b3JBbGwoaW4gRE9NU3RyaW5nIHNlbGVjdG9ycykKICAgICAg
ICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCi0jaWYgRU5BQkxFX1dNTAorI2lmIGRlZmlu
ZWQoRU5BQkxFX1dNTCkKICAgICAgICAgLy8gT25seSB1c2VkIGZyb20gd2l0aGluIFdNTCBsYXlv
dXQgdGVzdHMsIFdNTCBkb2Vzbid0IGhhdmUgSlMgc3VwcG9ydCBhdCBhbGwuCiAgICAgICAgIHZv
aWQgcmVzZXRXTUxQYWdlU3RhdGUoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L0hUTUxFbWJlZEVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQuaWRs
CmluZGV4IDEwYzMwMDcuLjM1YjA2YzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRW1i
ZWRFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5pZGwKQEAg
LTQ1LDcgKzQ1LDcgQEAgbW9kdWxlIGh0bWwgewogI2VuZGlmCiAKICNpZiAhZGVmaW5lZChMQU5H
VUFHRV9DT00pCi0jaWYgRU5BQkxFX1NWRworI2lmIGRlZmluZWQoRU5BQkxFX1NWRykKICAgICAg
ICAgW1NWR0NoZWNrU2VjdXJpdHlEb2N1bWVudF0gU1ZHRG9jdW1lbnQgZ2V0U1ZHRG9jdW1lbnQo
KQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MRnJh
bWVFbGVtZW50LmlkbAppbmRleCBiYzUxMmZmLi40Y2I3YjMzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvSFRNTEZyYW1lRWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVs
ZW1lbnQuaWRsCkBAIC00Miw3ICs0Miw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgLy8gRXh0
ZW5zaW9ucwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NV2luZG93IGNvbnRlbnRXaW5k
b3c7CiAKLSNpZiBFTkFCTEVfU1ZHCisjaWYgZGVmaW5lZChFTkFCTEVfU1ZHKQogICAgICAgICBb
U1ZHQ2hlY2tTZWN1cml0eURvY3VtZW50XSBTVkdEb2N1bWVudCBnZXRTVkdEb2N1bWVudCgpCiAg
ICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1l
RWxlbWVudC5pZGwKaW5kZXggYzZhODU5OS4uOTQxYTMyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL0hUTUxJRnJhbWVFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVs
ZW1lbnQuaWRsCkBAIC00NCw3ICs0NCw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgLy8gRXh0
ZW5zaW9ucwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NV2luZG93IGNvbnRlbnRXaW5k
b3c7CiAKLSNpZiBFTkFCTEVfU1ZHCisjaWYgZGVmaW5lZChFTkFCTEVfU1ZHKQogICAgICAgICBb
U1ZHQ2hlY2tTZWN1cml0eURvY3VtZW50XSBTVkdEb2N1bWVudCBnZXRTVkdEb2N1bWVudCgpCiAg
ICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0
RWxlbWVudC5pZGwKaW5kZXggYzIyNTIzOC4uZTc5YTExMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVs
ZW1lbnQuaWRsCkBAIC01MSw3ICs1MSw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFtDaGVja0ZyYW1lU2VjdXJpdHldIERvY3VtZW50ICAgICAgICBjb250ZW50
RG9jdW1lbnQ7CiAKICNpZiAhZGVmaW5lZChMQU5HVUFHRV9DT00pCi0jaWYgRU5BQkxFX1NWRwor
I2lmIGRlZmluZWQoRU5BQkxFX1NWRykKICAgICAgICAgW1NWR0NoZWNrU2VjdXJpdHlEb2N1bWVu
dF0gU1ZHRG9jdW1lbnQgZ2V0U1ZHRG9jdW1lbnQoKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuaWRsIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5p
ZGwKaW5kZXggZjZhZTZiMS4uNzJlZjRkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5pZGwKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29udHJvbGxlci5pZGwKQEAgLTY4LDcgKzY4LDcgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICBb
Q3VzdG9tXSB2b2lkIGFkZFNvdXJjZVRvRnJhbWUoaW4gRE9NU3RyaW5nIG1pbWVUeXBlLCBpbiBE
T01TdHJpbmcgc291cmNlVmFsdWUsIGluIE5vZGUgZnJhbWUpOwogICAgICAgICBbQ3VzdG9tXSBO
b2RlIGdldFJlc291cmNlRG9jdW1lbnROb2RlKGluIGxvbmcgbG9uZyBpZGVudGlmaWVyKTsKICAg
ICAgICAgW0N1c3RvbV0gdm9pZCBzZWFyY2goaW4gTm9kZSBub2RlLCBpbiBET01TdHJpbmcgcXVl
cnkpOwotI2lmIEVOQUJMRV9EQVRBQkFTRQorI2lmIGRlZmluZWQoRU5BQkxFX0RBVEFCQVNFKQog
ICAgICAgICBbQ3VzdG9tXSBET01PYmplY3QgZGF0YWJhc2VUYWJsZU5hbWVzKGluIERhdGFiYXNl
IGRhdGFiYXNlKTsKICNlbmRpZgogICAgICAgICBbQ3VzdG9tXSBET01PYmplY3Qgc2V0dGluZyhp
biBET01TdHJpbmcga2V5KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RP
TUFwcGxpY2F0aW9uQ2FjaGUuaWRsIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGlj
YXRpb25DYWNoZS5pZGwKaW5kZXggNGNmOGYzYS4uMjA1ZjQ2YSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwKKysrIGIvV2ViQ29yZS9s
b2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwKQEAgLTQzLDcgKzQzLDcgQEAg
bW9kdWxlIG9mZmxpbmUgewogICAgICAgICB2b2lkIHN3YXBDYWNoZSgpCiAgICAgICAgICAgICBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotI2lmIEVOQUJMRV9BUFBMSUNBVElPTl9DQUhFX0RZTkFN
SUNfRU5UUklFUworI2lmIGRlZmluZWQoRU5BQkxFX0FQUExJQ0FUSU9OX0NBSEVfRFlOQU1JQ19F
TlRSSUVTKQogICAgICAgICAvLyBkeW5hbWljIGVudHJpZXMKICAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZ0xpc3QgaXRlbXM7CiAgICAgICAgIFtDdXN0b21dIGJvb2xlYW4gaGFz
SXRlbShpbiBET01TdHJpbmcgdXJsKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBhNjZhZGY3Li5jNTU3Yzg5
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbApAQCAtMTQwLDE0ICsxNDAsMTQgQEAgbW9kdWxlIHdpbmRvdyB7CiAg
ICAgICAgIFdlYktpdFBvaW50IHdlYmtpdENvbnZlcnRQb2ludEZyb21QYWdlVG9Ob2RlKGluIE5v
ZGUgbm9kZSwgaW4gV2ViS2l0UG9pbnQgcCk7CiAgICAgICAgIFdlYktpdFBvaW50IHdlYmtpdENv
bnZlcnRQb2ludEZyb21Ob2RlVG9QYWdlKGluIE5vZGUgbm9kZSwgaW4gV2ViS2l0UG9pbnQgcCk7
CiAKLSNpZiBFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TCisjaWYgZGVmaW5lZChFTkFC
TEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NQXBwbGljYXRpb25DYWNoZSBhcHBsaWNhdGlvbkNhY2hlOwogI2VuZGlmICAgIAotI2lmIEVO
QUJMRV9EQVRBQkFTRQorI2lmIGRlZmluZWQoRU5BQkxFX0RBVEFCQVNFKQogICAgICAgICBEYXRh
YmFzZSBvcGVuRGF0YWJhc2UoaW4gRE9NU3RyaW5nIG5hbWUsIGluIERPTVN0cmluZyB2ZXJzaW9u
LCBpbiBET01TdHJpbmcgZGlzcGxheU5hbWUsIGluIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6
ZSkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogI2VuZGlmCi0jaWYgRU5BQkxF
X0RPTV9TVE9SQUdFCisjaWYgZGVmaW5lZChFTkFCTEVfRE9NX1NUT1JBR0UpCiAgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBTdG9yYWdlIHNlc3Npb25TdG9yYWdlOwogICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgU3RvcmFnZSBsb2NhbFN0b3JhZ2U7CiAjZW5kaWYKQEAgLTM1OCw3ICszNTgs
NyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIFdlYktpdENTU0tleWZyYW1l
UnVsZUNvbnN0cnVjdG9yIFdlYktpdENTU0tleWZyYW1lUnVsZTsKICAgICAgICAgYXR0cmlidXRl
IFdlYktpdENTU0tleWZyYW1lc1J1bGVDb25zdHJ1Y3RvciBXZWJLaXRDU1NLZXlmcmFtZXNSdWxl
OwogCi0jaWYgRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HCisjaWYgZGVmaW5lZChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpCiAgICAgICAgIGF0dHJpYnV0ZSBNZXNzYWdlUG9ydENvbnN0cnVjdG9y
IE1lc3NhZ2VQb3J0OwogI2VuZGlmCiAKQEAgLTM4Niw3ICszODYsNyBAQCBtb2R1bGUgd2luZG93
IHsKICAgICAgICAgYXR0cmlidXRlIFhTTFRQcm9jZXNzb3JDb25zdHJ1Y3RvciBYU0xUUHJvY2Vz
c29yOwogICAgICAgICBhdHRyaWJ1dGUgTWVzc2FnZUNoYW5uZWxDb25zdHJ1Y3RvciBNZXNzYWdl
Q2hhbm5lbDsKICAgICAgICAgYXR0cmlidXRlIFdlYktpdFBvaW50Q29uc3RydWN0b3IgV2ViS2l0
UG9pbnQ7Ci0jaWYgRU5BQkxFX1dPUktFUlMKKyNpZiBkZWZpbmVkKEVOQUJMRV9XT1JLRVJTKQog
ICAgICAgICBhdHRyaWJ1dGUgV29ya2VyQ29uc3RydWN0b3IgV29ya2VyOwogI2VuZGlmCiAgICAg
ICAgIGF0dHJpYnV0ZSBXZWJLaXRDU1NNYXRyaXhDb25zdHJ1Y3RvciBXZWJLaXRDU1NNYXRyaXg7
CkBAIC00MDEsMjUgKzQwMSwyNSBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRl
IENsaWVudFJlY3RDb25zdHJ1Y3RvciBDbGllbnRSZWN0OwogICAgICAgICBhdHRyaWJ1dGUgQ2xp
ZW50UmVjdExpc3RDb25zdHJ1Y3RvciBDbGllbnRSZWN0TGlzdDsKIAotI2lmIEVOQUJMRV9ET01f
U1RPUkFHRQorI2lmIGRlZmluZWQoRU5BQkxFX0RPTV9TVE9SQUdFKQogICAgICAgICBhdHRyaWJ1
dGUgU3RvcmFnZUNvbnN0cnVjdG9yIFN0b3JhZ2U7CiAgICAgICAgIGF0dHJpYnV0ZSBTdG9yYWdl
RXZlbnRDb25zdHJ1Y3RvciBTdG9yYWdlRXZlbnQ7CiAjZW5kaWYKIAotI2lmIEVOQUJMRV9WSURF
TworI2lmIGRlZmluZWQoRU5BQkxFX1ZJREVPKQogICAgICAgICBhdHRyaWJ1dGUgSFRNTEF1ZGlv
RWxlbWVudENvbnN0cnVjdG9yIEhUTUxBdWRpb0VsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBI
VE1MTWVkaWFFbGVtZW50Q29uc3RydWN0b3IgSFRNTE1lZGlhRWxlbWVudDsKICAgICAgICAgYXR0
cmlidXRlIEhUTUxWaWRlb0VsZW1lbnRDb25zdHJ1Y3RvciBIVE1MVmlkZW9FbGVtZW50OwogICAg
ICAgICBhdHRyaWJ1dGUgTWVkaWFFcnJvckNvbnN0cnVjdG9yIE1lZGlhRXJyb3I7CiAjZW5kaWYK
IAotI2lmIEVOQUJMRV9YUEFUSAorI2lmIGRlZmluZWQoRU5BQkxFX1hQQVRIKQogICAgICAgICBh
dHRyaWJ1dGUgWFBhdGhFdmFsdWF0b3JDb25zdHJ1Y3RvciBYUGF0aEV2YWx1YXRvcjsKICAgICAg
ICAgYXR0cmlidXRlIFhQYXRoUmVzdWx0Q29uc3RydWN0b3IgWFBhdGhSZXN1bHQ7CiAgICAgICAg
IGF0dHJpYnV0ZSBYUGF0aEV4Y2VwdGlvbkNvbnN0cnVjdG9yIFhQYXRoRXhjZXB0aW9uOwogI2Vu
ZGlmCiAKLSNpZiBFTkFCTEVfU1ZHCisjaWYgZGVmaW5lZChFTkFCTEVfU1ZHKQogICAgICAgICBh
dHRyaWJ1dGUgU1ZHQW5nbGVDb25zdHJ1Y3RvciBTVkdBbmdsZTsKICAgICAgICAgYXR0cmlidXRl
IFNWR0NvbG9yQ29uc3RydWN0b3IgU1ZHQ29sb3I7CiAvLyAgICAgIGF0dHJpYnV0ZSBTVkdDU1NS
dWxlQ29uc3RydWN0b3IgU1ZHQ1NTUnVsZTsKQEAgLTQzOCw3ICs0MzgsNyBAQCBtb2R1bGUgd2lu
ZG93IHsKIC8vICAgICAgYXR0cmlidXRlIFNWR1pvb21BbmRQYW5Db25zdHJ1Y3RvciBTVkdab29t
QW5kUGFuOwogI2VuZGlmCiAKLSNpZiBFTkFCTEVfU1ZHX0ZJTFRFUlMKKyNpZiBkZWZpbmVkKEVO
QUJMRV9TVkdfRklMVEVSUykKICAgICAgICAgYXR0cmlidXRlIFNWR0NvbXBvbmVudFRyYW5zZmVy
RnVuY3Rpb25FbGVtZW50Q29uc3RydWN0b3IgU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVs
ZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBTVkdGRUJsZW5kRWxlbWVudENvbnN0cnVjdG9yIFNW
R0ZFQmxlbmRFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgU1ZHRkVDb2xvck1hdHJpeEVsZW1l
bnRDb25zdHJ1Y3RvciBTVkdGRUNvbG9yTWF0cml4RWxlbWVudDsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9OYXZpZ2F0b3IuaWRsIGIvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwKaW5kZXgg
OTA1MTU5Yy4uYTVlOTIxYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwK
KysrIGIvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwKQEAgLTM4LDcgKzM4LDcgQEAgbW9kdWxl
IHdpbmRvdyB7CiAgICAgICAgIGJvb2xlYW4gamF2YUVuYWJsZWQoKTsKICAgICAgICAgCiAgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIG9uTGluZTsKLSNpZiBFTkFCTEVfR0VPTE9D
QVRJT04KKyNpZiBkZWZpbmVkKEVOQUJMRV9HRU9MT0NBVElPTikKICAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIEdlb2xvY2F0aW9uIGdlb2xvY2F0aW9uOwogI2VuZGlmCiAgICAgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30202</attachid>
            <date>2009-05-11 13:59:25 -0700</date>
            <delta_ts>2009-05-11 14:08:28 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-25087-v2.diff</filename>
            <type>text/plain</type>
            <size>48504</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">Y29tbWl0IDEzMDgyZWVhZDljMjYxYjRkMWViNjhhNjU5NzUzNTc4NTFhMjg2ZGYKQXV0aG9yOiBE
YXZpZCBLaWx6ZXIgPGRka2lsemVyQGFwcGxlLmNvbT4KRGF0ZTogICBTYXQgQXByIDQgMDg6Mzk6
NDAgMjAwOSAtMDcwMAoKICAgICAgICAgICAgQnVnIDI1MDg3OiBUZXN0IGZvciBFTkFCTEVfRk9P
IG1hY3JvcyBjb25zaXN0ZW50bHkgaW4gSURMIGZpbGVzCiAgICAKICAgICAgICAgICAgPGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTA4Nz4KICAgIAogICAgICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KICAgIAogICAgICAgICAgICBDaGFuZ2UgdGVz
dHMgZm9yIEVOQUJMRSBtYWNyb3MgdG8gY2hlY2sgZm9yIGJvdGggZXhpc3RhbmNlIGFuZAogICAg
ICAgICAgICB2YWx1ZToKICAgIAogICAgICAgICAgICAtIE5lZ2F0aXZlOiAgI2lmICFkZWZpbmVk
KEVOQUJMRV9GT08pIHx8ICFFTkFCTEVfRk9PCiAgICAgICAgICAgIC0gUG9zaXRpdmU6ICAjaWYg
ZGVmaW5lZChFTkFCTEVfRk9PKSAmJiBFTkFCTEVfRk9PCiAgICAKICAgICAgICAgICAgKiBjc3Mv
Q1NTQ2hhcnNldFJ1bGUuaWRsOgogICAgICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5p
ZGw6CiAgICAgICAgICAgICogY3NzL1JHQkNvbG9yLmlkbDoKICAgICAgICAgICAgKiBkb20vQXR0
ci5pZGw6CiAgICAgICAgICAgICogZG9tL0RPTUNvcmVFeGNlcHRpb24uaWRsOgogICAgICAgICAg
ICAqIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGw6CiAgICAgICAgICAgICogZG9tL0RvY3VtZW50
LmlkbDoKICAgICAgICAgICAgKiBkb20vRWxlbWVudC5pZGw6CiAgICAgICAgICAgICogZG9tL0V2
ZW50LmlkbDoKICAgICAgICAgICAgKiBkb20vRXZlbnRFeGNlcHRpb24uaWRsOgogICAgICAgICAg
ICAqIGRvbS9LZXlib2FyZEV2ZW50LmlkbDoKICAgICAgICAgICAgKiBkb20vTWVzc2FnZVBvcnQu
aWRsOgogICAgICAgICAgICAqIGRvbS9Nb3VzZUV2ZW50LmlkbDoKICAgICAgICAgICAgKiBkb20v
Tm9kZS5pZGw6CiAgICAgICAgICAgICogZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5pZGw6CiAg
ICAgICAgICAgICogZG9tL1JhbmdlLmlkbDoKICAgICAgICAgICAgKiBkb20vUmFuZ2VFeGNlcHRp
b24uaWRsOgogICAgICAgICAgICAqIGRvbS9XaGVlbEV2ZW50LmlkbDoKICAgICAgICAgICAgKiBo
dG1sL0NhbnZhc1BpeGVsQXJyYXkuaWRsOgogICAgICAgICAgICAqIGh0bWwvSFRNTEFuY2hvckVs
ZW1lbnQuaWRsOgogICAgICAgICAgICAqIGh0bWwvSFRNTEFwcGxldEVsZW1lbnQuaWRsOgogICAg
ICAgICAgICAqIGh0bWwvSFRNTEFyZWFFbGVtZW50LmlkbDoKICAgICAgICAgICAgKiBodG1sL0hU
TUxCYXNlRm9udEVsZW1lbnQuaWRsOgogICAgICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1l
bnQuaWRsOgogICAgICAgICAgICAqIGh0bWwvSFRNTERvY3VtZW50LmlkbDoKICAgICAgICAgICAg
KiBodG1sL0hUTUxFbGVtZW50LmlkbDoKICAgICAgICAgICAgKiBodG1sL0hUTUxFbWJlZEVsZW1l
bnQuaWRsOgogICAgICAgICAgICAqIGh0bWwvSFRNTEZyYW1lRWxlbWVudC5pZGw6CiAgICAgICAg
ICAgICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5pZGw6CiAgICAgICAgICAgICogaHRtbC9IVE1M
SW1hZ2VFbGVtZW50LmlkbDoKICAgICAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRs
OgogICAgICAgICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50LmlkbDoKICAgICAgICAgICAgKiBo
dG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbDoKICAgICAgICAgICAgKiBodG1sL0hUTUxPcHRpb25F
bGVtZW50LmlkbDoKICAgICAgICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGw6
CiAgICAgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGw6CiAgICAgICAgICAgICog
aHRtbC9IVE1MU3R5bGVFbGVtZW50LmlkbDoKICAgICAgICAgICAgKiBodG1sL0ltYWdlRGF0YS5p
ZGw6CiAgICAgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaWRsOgogICAg
ICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmlkbDoKICAgICAg
ICAgICAgKiBwYWdlL0NvbnNvbGUuaWRsOgogICAgICAgICAgICAqIHBhZ2UvQ29vcmRpbmF0ZXMu
aWRsOgogICAgICAgICAgICAqIHBhZ2UvRE9NU2VsZWN0aW9uLmlkbDoKICAgICAgICAgICAgKiBw
YWdlL0RPTVdpbmRvdy5pZGw6CiAgICAgICAgICAgICogcGFnZS9HZW9wb3NpdGlvbi5pZGw6CiAg
ICAgICAgICAgICogcGFnZS9IaXN0b3J5LmlkbDoKICAgICAgICAgICAgKiBwYWdlL0xvY2F0aW9u
LmlkbDoKICAgICAgICAgICAgKiBwYWdlL05hdmlnYXRvci5pZGw6CiAgICAgICAgICAgICogc3Zn
L1NWR0VsZW1lbnRJbnN0YW5jZS5pZGw6CiAgICAgICAgICAgICogc3ZnL1NWR0V4Y2VwdGlvbi5p
ZGw6CiAgICAgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbDoKICAgICAgICAgICAg
KiB4bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaWRsOgogICAgICAgICAgICAqIHhtbC9YUGF0
aEV4Y2VwdGlvbi5pZGw6CgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCAxNTZlNDAzLi5iZDBiNGYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDA5LTA1
LTEyICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgQnVnIDI1
MDg3OiBUZXN0IGZvciBFTkFCTEVfRk9PIG1hY3JvcyBjb25zaXN0ZW50bHkgaW4gSURMIGZpbGVz
CisKKyAgICAgICAgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTA4
Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFu
Z2UgdGVzdHMgZm9yIEVOQUJMRSBtYWNyb3MgdG8gY2hlY2sgZm9yIGJvdGggZXhpc3RhbmNlIGFu
ZAorICAgICAgICB2YWx1ZToKKworICAgICAgICAtIE5lZ2F0aXZlOiAgI2lmICFkZWZpbmVkKEVO
QUJMRV9GT08pIHx8ICFFTkFCTEVfRk9PCisgICAgICAgIC0gUG9zaXRpdmU6ICAjaWYgZGVmaW5l
ZChFTkFCTEVfRk9PKSAmJiBFTkFCTEVfRk9PCisKKyAgICAgICAgKiBjc3MvQ1NTQ2hhcnNldFJ1
bGUuaWRsOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5pZGw6CisgICAgICAgICog
Y3NzL1JHQkNvbG9yLmlkbDoKKyAgICAgICAgKiBkb20vQXR0ci5pZGw6CisgICAgICAgICogZG9t
L0RPTUNvcmVFeGNlcHRpb24uaWRsOgorICAgICAgICAqIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5p
ZGw6CisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5p
ZGw6CisgICAgICAgICogZG9tL0V2ZW50LmlkbDoKKyAgICAgICAgKiBkb20vRXZlbnRFeGNlcHRp
b24uaWRsOgorICAgICAgICAqIGRvbS9LZXlib2FyZEV2ZW50LmlkbDoKKyAgICAgICAgKiBkb20v
TWVzc2FnZVBvcnQuaWRsOgorICAgICAgICAqIGRvbS9Nb3VzZUV2ZW50LmlkbDoKKyAgICAgICAg
KiBkb20vTm9kZS5pZGw6CisgICAgICAgICogZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5pZGw6
CisgICAgICAgICogZG9tL1JhbmdlLmlkbDoKKyAgICAgICAgKiBkb20vUmFuZ2VFeGNlcHRpb24u
aWRsOgorICAgICAgICAqIGRvbS9XaGVlbEV2ZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0NhbnZh
c1BpeGVsQXJyYXkuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsOgor
ICAgICAgICAqIGh0bWwvSFRNTEFwcGxldEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRN
TEFyZWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuaWRs
OgorICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwv
SFRNTERvY3VtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBodG1sL0hUTUxFbWJlZEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEZyYW1l
RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5pZGw6CisgICAg
ICAgICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1
dEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxPcHRp
b25FbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGw6
CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9I
VE1MU3R5bGVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0ltYWdlRGF0YS5pZGw6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaWRsOgorICAgICAgICAqIGxvYWRl
ci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmlkbDoKKyAgICAgICAgKiBwYWdlL0NvbnNv
bGUuaWRsOgorICAgICAgICAqIHBhZ2UvQ29vcmRpbmF0ZXMuaWRsOgorICAgICAgICAqIHBhZ2Uv
RE9NU2VsZWN0aW9uLmlkbDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisgICAgICAg
ICogcGFnZS9HZW9wb3NpdGlvbi5pZGw6CisgICAgICAgICogcGFnZS9IaXN0b3J5LmlkbDoKKyAg
ICAgICAgKiBwYWdlL0xvY2F0aW9uLmlkbDoKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvci5pZGw6
CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5pZGw6CisgICAgICAgICogc3ZnL1NW
R0V4Y2VwdGlvbi5pZGw6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbDoKKyAg
ICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaWRsOgorICAgICAgICAqIHhtbC9Y
UGF0aEV4Y2VwdGlvbi5pZGw6CisKIDIwMDktMDUtMTEgIERhdmlkIEtpbHplciAgPGRka2lsemVy
QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdHlwbyAiQVBQTElDQVRJT05fQ0FIRV9EWU5BTUlD
X0VOVFJJRVMiIHRvICJBUFBMSUNBVElPTl9DQUNIRV9EWU5BTUlDX0VOVFJJRVMiCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwgYi9XZWJDb3JlL2Nzcy9DU1NDaGFy
c2V0UnVsZS5pZGwKaW5kZXggZWJlNjU5Yy4uZGIwMzMzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9j
c3MvQ1NTQ2hhcnNldFJ1bGUuaWRsCisrKyBiL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmlk
bApAQCAtMjYsNyArMjYsNyBAQCBtb2R1bGUgY3NzIHsKICAgICAgICAgSW50ZXJmYWNlVVVJRD05
NDE4MGJhZC1hNzRlLTRkZjktYWRiYy02Y2U0ZTViOTYxNTUsCiAgICAgICAgIEltcGxlbWVudGF0
aW9uVVVJRD0zNTRhYTM5ZS1hZDUzLTRlOWEtYTkyNy04MGMzOTY2YzQ3ZjIKICAgICBdIENTU0No
YXJzZXRSdWxlIDogQ1NTUnVsZSB7Ci0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykK
KyNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVf
QwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsU3RyaW5nVG89TnVsbF0g
RE9NU3RyaW5nIGVuY29kaW5nOwogI2Vsc2UKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtD
b252ZXJ0TnVsbFN0cmluZ1RvPU51bGwsIENvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJp
bmcgZW5jb2RpbmcKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmlk
bCBiL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmlkbAppbmRleCBiMDQ5YzI5Li5iZWZl
NWFjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5pZGwKKysrIGIv
V2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaWRsCkBAIC02OSw3ICs2OSw3IEBAIG1vZHVs
ZSBjc3MgewogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIFJlY3Qg
Z2V0UmVjdFZhbHVlKCkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwotI2lmICFk
ZWZpbmVkKExBTkdVQUdFX0NPTSkKKyNpZiAhZGVmaW5lZChMQU5HVUFHRV9DT00pIHx8ICFMQU5H
VUFHRV9DT00KICAgICAgICAgUkdCQ29sb3IgZ2V0UkdCQ29sb3JWYWx1ZSgpCiAgICAgICAgICAg
ICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3Mv
UkdCQ29sb3IuaWRsIGIvV2ViQ29yZS9jc3MvUkdCQ29sb3IuaWRsCmluZGV4IGNiMTQzMTkuLmY3
NmI2YTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL1JHQkNvbG9yLmlkbAorKysgYi9XZWJDb3Jl
L2Nzcy9SR0JDb2xvci5pZGwKQEAgLTMzLDEwICszMywxMCBAQCBtb2R1bGUgY3NzIHsKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1ByaW1pdGl2ZVZhbHVlICBibHVlOwogCiAgICAgICAg
IC8vIFdlYktpdCBleHRlbnNpb25zCi0jaWYgIWRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkK
KyNpZiAhZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSB8fCAhTEFOR1VBR0VfSkFWQVNDUklQ
VAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUHJpbWl0aXZlVmFsdWUgIGFscGhhOwog
I2VuZGlmCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykKKyNpZiBkZWZpbmVkKExB
TkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwogICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgQ29sb3IgICAgICAgICAgICAgIGNvbG9yOwogI2VuZGlmCiAgICAgfTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0F0dHIuaWRsIGIvV2ViQ29yZS9kb20vQXR0ci5pZGwK
aW5kZXggY2NiZmFkYS4uMjlmNGJlMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXR0ci5pZGwK
KysrIGIvV2ViQ29yZS9kb20vQXR0ci5pZGwKQEAgLTM5LDcgKzM5LDcgQEAgbW9kdWxlIGNvcmUg
ewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRWxlbWVudCBvd25lckVsZW1lbnQ7CiAgICAg
ICAgIAogICAgICAgICAvLyBleHRlbnNpb25zCi0jaWYgIWRlZmluZWQoTEFOR1VBR0VfQ09NKQor
I2lmICFkZWZpbmVkKExBTkdVQUdFX0NPTSkgfHwgIUxBTkdVQUdFX0NPTQogICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgQ1NTU3R5bGVEZWNsYXJhdGlvbiBzdHlsZTsKICNlbmRpZgogICAgIH07
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmlkbCBiL1dlYkNvcmUv
ZG9tL0RPTUNvcmVFeGNlcHRpb24uaWRsCmluZGV4IDI5MmFmZTUuLjMwMDE5OTUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24uaWRsCisrKyBiL1dlYkNvcmUvZG9tL0RP
TUNvcmVFeGNlcHRpb24uaWRsCkBAIC0zNiw3ICszNiw3IEBAIG1vZHVsZSBjb3JlIHsKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICAgbmFtZTsKICAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICAgbWVzc2FnZTsKIAotI2lmIGRlZmluZWQo
TEFOR1VBR0VfSkFWQVNDUklQVCkKKyNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYm
IExBTkdVQUdFX0pBVkFTQ1JJUFQKICAgICAgICAgLy8gT3ZlcnJpZGUgaW4gYSBNb3ppbGxhIGNv
bXBhdGlibGUgZm9ybWF0CiAgICAgICAgIFtEb250RW51bV0gRE9NU3RyaW5nIHRvU3RyaW5nKCk7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmlkbCBi
L1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmlkbAppbmRleCA5NGQ3NWZiLi42ZjRkZjgw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwKKysrIGIvV2Vi
Q29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsCkBAIC00NCw3ICs0NCw3IEBAIG1vZHVsZSBj
b3JlIHsKIAogICAgICAgICAvLyBET01JbXBsZW1lbnRhdGlvbkNTUyBpbnRlcmZhY2UgZnJvbSBE
T00gTGV2ZWwgMiBDU1MKIAotI2lmICFkZWZpbmVkKExBTkdVQUdFX0NPTSkKKyNpZiAhZGVmaW5l
ZChMQU5HVUFHRV9DT00pIHx8ICFMQU5HVUFHRV9DT00KICAgICAgICAgW09sZFN0eWxlT2JqQ10g
Q1NTU3R5bGVTaGVldCBjcmVhdGVDU1NTdHlsZVNoZWV0KGluIERPTVN0cmluZyB0aXRsZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
IERPTVN0cmluZyBtZWRpYSkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aWRsCmluZGV4IDM1NDNjYzcuLjIzNGY5YjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmlkbAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKQEAgLTgxLDcgKzgxLDcgQEAg
bW9kdWxlIGNvcmUgewogCiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxT
dHJpbmdUbz1OdWxsLCBDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGRvY3VtZW50
VVJJOwogCi0jaWYgIWRlZmluZWQoTEFOR1VBR0VfQ09NKQorI2lmICFkZWZpbmVkKExBTkdVQUdF
X0NPTSkgfHwgIUxBTkdVQUdFX0NPTQogICAgICAgICAvLyBET00gTGV2ZWwgMiBFdmVudHMgKERv
Y3VtZW50RXZlbnRzIGludGVyZmFjZSkKIAogICAgICAgICBFdmVudCAgICAgICAgICAgICAgY3Jl
YXRlRXZlbnQoaW4gRE9NU3RyaW5nIGV2ZW50VHlwZSkKQEAgLTExNiw3ICsxMTYsNyBAQCBtb2R1
bGUgY29yZSB7CiAKICAgICAgICAgW09sZFN0eWxlT2JqQ10gQ1NTU3R5bGVEZWNsYXJhdGlvbiBn
ZXRPdmVycmlkZVN0eWxlKGluIEVsZW1lbnQgZWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIERPTVN0cmluZyBwc2V1
ZG9FbGVtZW50KTsKLSNpZiBFTkFCTEVfWFBBVEgKKyNpZiBkZWZpbmVkKEVOQUJMRV9YUEFUSCkg
JiYgRU5BQkxFX1hQQVRICiAgICAgICAgIC8vIERPTSBMZXZlbCAzIFhQYXRoIChYUGF0aEV2YWx1
YXRvciBpbnRlcmZhY2UpCiAgICAgICAgIFtPbGRTdHlsZU9iakNdIFhQYXRoRXhwcmVzc2lvbiBj
cmVhdGVFeHByZXNzaW9uKGluIERPTVN0cmluZyBleHByZXNzaW9uLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBYUGF0aE5TUmVzb2x2
ZXIgcmVzb2x2ZXIpCkBAIC0xMzcsNyArMTM3LDcgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiB1c2VySW50ZXJmYWNlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW0NvbnZlcnRVbmRlZmlu
ZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyB2YWx1ZSk7CiAKLSNpZiBkZWZpbmVkKExB
TkdVQUdFX09CSkVDVElWRV9DKQorI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYm
IExBTkdVQUdFX09CSkVDVElWRV9DCiAgICAgICAgIC8vIEZJWE1FOiByZW1vdmUgdGhlIHRoZXNl
IHR3byB2ZXJzaW9ucyBvbmNlIFtPcHRpb25hbF0gaXMgaW1wbGVtZW50ZWQgZm9yIE9iamVjdGl2
ZS1DLgogICAgICAgICBib29sZWFuICAgICAgICAgICAgZXhlY0NvbW1hbmQoaW4gRE9NU3RyaW5n
IGNvbW1hbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29s
ZWFuIHVzZXJJbnRlcmZhY2UpOwpAQCAtMTU0LDcgKzE1NCw3IEBAIG1vZHVsZSBjb3JlIHsKIAog
ICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01T
dHJpbmcgdGl0bGU7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmZXJy
ZXI7Ci0jaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKQorI2lmIGRlZmluZWQoTEFOR1VB
R0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQVAogICAgICAgICAgICAgICAgICBh
dHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgZG9tYWluOwogI2Vs
c2UKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBkb21haW47CkBAIC0xODAs
NyArMTgwLDcgQEAgbW9kdWxlIGNvcmUgewogCiAgICAgICAgIE5vZGVMaXN0IGdldEVsZW1lbnRz
QnlOYW1lKGluIERPTVN0cmluZyBlbGVtZW50TmFtZSk7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdF
X0pBVkFTQ1JJUFQpCisjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFH
RV9KQVZBU0NSSVBUCiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ3VzdG9tXSBMb2NhdGlv
biBsb2NhdGlvbjsKICNlbmRpZgogCkBAIC0xOTMsNyArMTkzLDcgQEAgbW9kdWxlIGNvcmUgewog
ICAgICAgICBFbGVtZW50ICAgICAgICAgICAgZWxlbWVudEZyb21Qb2ludChpbiBsb25nIHgsIGlu
IGxvbmcgeSk7CiAKICAgICAgICAgLy8gTW96aWxsYSBleHRlbnNpb25zCi0jaWYgZGVmaW5lZChM
QU5HVUFHRV9KQVZBU0NSSVBUKQorI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYg
TEFOR1VBR0VfSkFWQVNDUklQVAogICAgICAgICBET01TZWxlY3Rpb24gICAgICAgZ2V0U2VsZWN0
aW9uKCk7CiAjZW5kaWYKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFN0
cmluZ1RvPU51bGxdIERPTVN0cmluZyBjaGFyYWN0ZXJTZXQ7CkBAIC0yMDMsMTMgKzIwMywxMyBA
QCBtb2R1bGUgY29yZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ29udmVydE51bGxT
dHJpbmdUbz1OdWxsXSBET01TdHJpbmcgcHJlZmVycmVkU3R5bGVzaGVldFNldDsKICAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFN0cmluZ1RvPU51bGwsIENvbnZlcnROdWxs
VG9OdWxsU3RyaW5nXSBET01TdHJpbmcgc2VsZWN0ZWRTdHlsZXNoZWV0U2V0OwogCi0jaWYgIWRl
ZmluZWQoTEFOR1VBR0VfQ09NKQotI2lmICFkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpCisj
aWYgIWRlZmluZWQoTEFOR1VBR0VfQ09NKSB8fCAhTEFOR1VBR0VfQ09NCisjaWYgIWRlZmluZWQo
TEFOR1VBR0VfSkFWQVNDUklQVCkgfHwgIUxBTkdVQUdFX0pBVkFTQ1JJUFQKICAgICAgICAgQ1NT
U3R5bGVEZWNsYXJhdGlvbiBjcmVhdGVDU1NTdHlsZURlY2xhcmF0aW9uKCk7CiAjZW5kaWYKICNl
bmRpZgogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykKKyNpZiBkZWZpbmVkKExB
TkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwogICAgICAgICAvLyBE
T00gTGV2ZWwgMiBTdHlsZSBJbnRlcmZhY2UKICAgICAgICAgW09sZFN0eWxlT2JqQywgVXNlc1Zp
ZXddIENTU1N0eWxlRGVjbGFyYXRpb24gZ2V0Q29tcHV0ZWRTdHlsZShpbiBFbGVtZW50IGVsZW1l
bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gRE9NU3RyaW5nIHBzZXVkb0VsZW1lbnQpOwpAQCAtMjI0LDgg
KzIyNCw4IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKExBTkdVQUdFX0NPTSkK
LSNpZiAhZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykKKyNpZiAhZGVmaW5lZChMQU5HVUFH
RV9DT00pIHx8ICFMQU5HVUFHRV9DT00KKyNpZiAhZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVf
QykgfHwgIUxBTkdVQUdFX09CSkVDVElWRV9DCiAgICAgICAgIFtWOEN1c3RvbV0gRE9NT2JqZWN0
IGdldENTU0NhbnZhc0NvbnRleHQoaW4gRE9NU3RyaW5nIGNvbnRleHRJZCwgaW4gRE9NU3RyaW5n
IG5hbWUsIGluIGxvbmcgd2lkdGgsIGluIGxvbmcgaGVpZ2h0KTsKICNlbmRpZgogI2VuZGlmCkBA
IC0yMzksNyArMjM5LDcgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICBOb2RlTGlzdCBxdWVyeVNl
bGVjdG9yQWxsKGluIERPTVN0cmluZyBzZWxlY3RvcnMpCiAgICAgICAgICAgICByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKIAotI2lmIEVOQUJMRV9XTUwKKyNpZiBkZWZpbmVkKEVOQUJMRV9XTUwpICYm
IEVOQUJMRV9XTUwKICAgICAgICAgLy8gT25seSB1c2VkIGZyb20gd2l0aGluIFdNTCBsYXlvdXQg
dGVzdHMsIFdNTCBkb2Vzbid0IGhhdmUgSlMgc3VwcG9ydCBhdCBhbGwuCiAgICAgICAgIHZvaWQg
cmVzZXRXTUxQYWdlU3RhdGUoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRWxl
bWVudC5pZGwgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAppbmRleCA4ODllYWYwLi42ZTE2YmZl
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2RvbS9F
bGVtZW50LmlkbApAQCAtNjYsNyArNjYsNyBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAgIFtPbGRT
dHlsZU9iakNdIGJvb2xlYW4gaGFzQXR0cmlidXRlTlMoaW4gW0NvbnZlcnROdWxsVG9OdWxsU3Ry
aW5nXSBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluIERPTVN0cmluZyBsb2NhbE5hbWUpOwogCi0jaWYgIWRlZmlu
ZWQoTEFOR1VBR0VfQ09NKQorI2lmICFkZWZpbmVkKExBTkdVQUdFX0NPTSkgfHwgIUxBTkdVQUdF
X0NPTQogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTU3R5bGVEZWNsYXJhdGlvbiBzdHls
ZTsKICNlbmRpZgogCkBAIC0xMDksNyArMTA5LDcgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICBO
b2RlTGlzdCBxdWVyeVNlbGVjdG9yQWxsKGluIERPTVN0cmluZyBzZWxlY3RvcnMpCiAgICAgICAg
ICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotI2lmICFkZWZpbmVkKExBTkdVQUdFX0NPTSkK
KyNpZiAhZGVmaW5lZChMQU5HVUFHRV9DT00pIHx8ICFMQU5HVUFHRV9DT00KICAgICAgICAgLy8g
RWxlbWVudFRyYXZlcnNhbCBBUEkKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQg
Zmlyc3RFbGVtZW50Q2hpbGQ7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50IGxh
c3RFbGVtZW50Q2hpbGQ7CkBAIC0xMTgsMTMgKzExOCwxMyBAQCBtb2R1bGUgY29yZSB7CiAgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGNoaWxkRWxlbWVudENvdW50Owog
I2VuZGlmCiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpCisjaWYgZGVmaW5lZChM
QU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBUCiAgICAgICAgIC8vIENT
U09NIFZpZXcgTW9kdWxlIEFQSQogICAgICAgICBDbGllbnRSZWN0TGlzdCBnZXRDbGllbnRSZWN0
cygpOwogICAgICAgICBDbGllbnRSZWN0IGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogI2VuZGlm
CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKQorI2lmIGRlZmluZWQoTEFOR1VB
R0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCiAgICAgICAgIC8vIE9iamVj
dGl2ZS1DIGV4dGVuc2lvbnMKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBp
bm5lclRleHQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50LmlkbCBiL1dl
YkNvcmUvZG9tL0V2ZW50LmlkbAppbmRleCAyM2IwMTIxLi41YWM5ZTBjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2RvbS9FdmVudC5pZGwKKysrIGIvV2ViQ29yZS9kb20vRXZlbnQuaWRsCkBAIC0zNCw3
ICszNCw3IEBAIG1vZHVsZSBldmVudHMgewogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBB
VF9UQVJHRVQgICAgICAgICAgID0gMjsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQlVC
QkxJTkdfUEhBU0UgICAgICA9IDM7CiAKLSNpZiAhZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVf
QykKKyNpZiAhZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgfHwgIUxBTkdVQUdFX09CSkVD
VElWRV9DCiAgICAgICAgIC8vIFJldmVyc2UtZW5naW5lZXJlZCBmcm9tIE5ldHNjYXBlCiAgICAg
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1PVVNFRE9XTiAgICAgICAgICAgPSAxOwogICAgICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNT1VTRVVQICAgICAgICAgICAgID0gMjsKQEAgLTYwLDcg
KzYwLDcgQEAgbW9kdWxlIGV2ZW50cyB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBzaG9ydCAgIGV2ZW50UGhhc2U7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29s
ZWFuICAgICAgICAgIGJ1YmJsZXM7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFu
ICAgICAgICAgIGNhbmNlbGFibGU7Ci0jaWYgIWRlZmluZWQoTEFOR1VBR0VfQ09NKQorI2lmICFk
ZWZpbmVkKExBTkdVQUdFX0NPTSkgfHwgIUxBTkdVQUdFX0NPTQogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NVGltZVN0YW1wICAgICB0aW1lU3RhbXA7CiAjZW5kaWYKICAgICAgICAgdm9p
ZCAgICAgICAgICAgICAgIHN0b3BQcm9wYWdhdGlvbigpOwpAQCAtNzQsNyArNzQsNyBAQCBtb2R1
bGUgZXZlbnRzIHsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gICAgICAgICAg
cmV0dXJuVmFsdWU7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAg
IGNhbmNlbEJ1YmJsZTsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkKKyNpZiBk
ZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pBVkFTQ1JJUFQKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21dIENsaXBib2FyZCAgICAgICAgY2xpcGJvYXJk
RGF0YTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudEV4Y2VwdGlvbi5p
ZGwgYi9XZWJDb3JlL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwKaW5kZXggZjk0ODA3OC4uM2Q4MmY4
NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaWRsCisrKyBiL1dlYkNv
cmUvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbApAQCAtMzgsNyArMzgsNyBAQCBtb2R1bGUgZXZlbnRz
IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICAgbmFtZTsKICAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICAgbWVzc2FnZTsKIAotI2lm
IGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkKKyNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFT
Q1JJUFQpICYmIExBTkdVQUdFX0pBVkFTQ1JJUFQKICAgICAgICAgLy8gT3ZlcnJpZGUgaW4gYSBN
b3ppbGxhIGNvbXBhdGlibGUgZm9ybWF0CiAgICAgICAgIFtEb250RW51bV0gRE9NU3RyaW5nIHRv
U3RyaW5nKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0tleWJvYXJkRXZlbnQu
aWRsIGIvV2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVudC5pZGwKaW5kZXggODA4MzE5Zi4uNThlNWRh
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVudC5pZGwKKysrIGIvV2ViQ29y
ZS9kb20vS2V5Ym9hcmRFdmVudC5pZGwKQEAgLTI1LDcgKzI1LDcgQEAgbW9kdWxlIGV2ZW50cyB7
CiAgICAgICAgIEdlbmVyYXRlQ29uc3RydWN0b3IKICAgICBdIEtleWJvYXJkRXZlbnQgOiBVSUV2
ZW50IHsKIAotI2lmICFkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpCisjaWYgIWRlZmluZWQo
TEFOR1VBR0VfSkFWQVNDUklQVCkgfHwgIUxBTkdVQUdFX0pBVkFTQ1JJUFQKICAgICAgICAgLy8g
S2V5TG9jYXRpb25Db2RlCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgICAgICAgS0VZX0xP
Q0FUSU9OX1NUQU5EQVJEICAgICAgPSAweDAwOwogICAgICAgICBjb25zdCB1bnNpZ25lZCBsb25n
ICAgICAgIEtFWV9MT0NBVElPTl9MRUZUICAgICAgICAgID0gMHgwMTsKQEAgLTQxLDcgKzQxLDcg
QEAgbW9kdWxlIGV2ZW50cyB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuICAg
ICAgICAgIG1ldGFLZXk7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuICAgICAg
ICAgIGFsdEdyYXBoS2V5OwogCi0jaWYgIWRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkKKyNp
ZiAhZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSB8fCAhTEFOR1VBR0VfSkFWQVNDUklQVAog
ICAgICAgICBib29sZWFuIGdldE1vZGlmaWVyU3RhdGUoaW4gRE9NU3RyaW5nIGtleUlkZW50aWZp
ZXJBcmcpOwogI2VuZGlmCiAKQEAgLTU5LDcgKzU5LDcgQEAgbW9kdWxlIGV2ZW50cyB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBhbHRHcmFwaEtleSk7CiAKICAg
ICAgICAgLy8gV2ViS2l0IEV4dGVuc2lvbnMKLSNpZiAhZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NS
SVBUKQorI2lmICFkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpIHx8ICFMQU5HVUFHRV9KQVZB
U0NSSVBUCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nICAgICAgICAgICAgIGtleUNv
ZGU7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nICAgICAgICAgICAgIGNoYXJDb2Rl
OwogICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmlkbCBiL1dl
YkNvcmUvZG9tL01lc3NhZ2VQb3J0LmlkbAppbmRleCAyNTk2YzBmLi4wM2M2YmFiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5pZGwKKysrIGIvV2ViQ29yZS9kb20vTWVzc2Fn
ZVBvcnQuaWRsCkBAIC0zMyw3ICszMyw3IEBAIG1vZHVsZSBldmVudHMgewogICAgIF0gTWVzc2Fn
ZVBvcnQgewogLy8gV2UgbmVlZCB0byBoYXZlIHNvbWV0aGluZyBhcyBhbiBPYmpDIGJpbmRpbmcs
IGJlY2F1c2UgTWVzc2FnZVBvcnQgaXMgdXNlZCBpbiBNZXNzYWdlRXZlbnQsIHdoaWNoIGFscmVh
ZHkgaGFzIG9uZSwKIC8vIGJ1dCB3ZSBkb24ndCB3YW50IHRvIGFjdHVhbGx5IGV4cG9zZSB0aGUg
QVBJIHdoaWxlIGl0IGlzIGluIGZsdXguCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBU
KQorI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQ
VAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBhY3RpdmU7CiAgICAgICAgIHZv
aWQgcG9zdE1lc3NhZ2UoaW4gRE9NU3RyaW5nIG1lc3NhZ2UsIGluIFtPcHRpb25hbF0gTWVzc2Fn
ZVBvcnQgbWVzc2FnZVBvcnQpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaWRsIGIvV2ViQ29yZS9kb20vTW91c2VF
dmVudC5pZGwKaW5kZXggMzE5NWE3YS4uYzUwOTQ1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
TW91c2VFdmVudC5pZGwKKysrIGIvV2ViQ29yZS9kb20vTW91c2VFdmVudC5pZGwKQEAgLTU4LDcg
KzU4LDcgQEAgbW9kdWxlIGV2ZW50cyB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2Rl
ICAgICAgICAgICAgIGZyb21FbGVtZW50OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9k
ZSAgICAgICAgICAgICB0b0VsZW1lbnQ7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJ
UFQpCisjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NS
SVBUCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDbGlwYm9hcmQgICAgICAgIGRhdGFUcmFu
c2ZlcjsKICNlbmRpZgogICAgIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Ob2RlLmlkbCBi
L1dlYkNvcmUvZG9tL05vZGUuaWRsCmluZGV4IDRmZWE5MzMuLjQ1ZDMyNWEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvZG9tL05vZGUuaWRsCisrKyBiL1dlYkNvcmUvZG9tL05vZGUuaWRsCkBAIC0zMSw3
ICszMSw3IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgSW50ZXJmYWNlVVVJRD04NEJBMEQ3QS03
RTNFLTRhN2ItQjZGQi03NjUzRThGQjU0RUQsCiAgICAgICAgIEltcGxlbWVudGF0aW9uVVVJRD04
MUI0N0ZEQi05NEIwLTQwZmQtOEUwQy1GQjJBNkU1M0NDMDQKICAgICBdIE5vZGUKLSNpZiBkZWZp
bmVkKExBTkdVQUdFX09CSkVDVElWRV9DKQorI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZF
X0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCiAgICAgICAgIDogT2JqZWN0LCBFdmVudFRhcmdl
dAogI2VuZGlmIC8qIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICovCiAgICAgIHsKQEAg
LTEyOCwxMyArMTI4LDEzIEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgLy8gSUUgZXh0ZW5zaW9u
cwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRWxlbWVudCAgICAgICAgICBwYXJlbnRFbGVt
ZW50OwogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykKKyNpZiBkZWZpbmVkKExB
TkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwogICAgICAgICAvLyBP
YmplY3RpdmUtQyBleHRlbnNpb25zCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFu
ICAgICAgICAgIGlzQ29udGVudEVkaXRhYmxlOwogI2VuZGlmIC8qIGRlZmluZWQoTEFOR1VBR0Vf
T0JKRUNUSVZFX0MpICovCiAKLSNpZiAhZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykKLSNp
ZiAhZGVmaW5lZChMQU5HVUFHRV9DT00pCisjaWYgIWRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZF
X0MpIHx8ICFMQU5HVUFHRV9PQkpFQ1RJVkVfQworI2lmICFkZWZpbmVkKExBTkdVQUdFX0NPTSkg
fHwgIUxBTkdVQUdFX0NPTQogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3Rl
bmVyIG9uYWJvcnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIg
b25ibHVyOwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9uY2hh
bmdlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbCBi
L1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5pZGwKaW5kZXggZDA5MjNmMS4uNTc4
YjIyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbAor
KysgYi9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaWRsCkBAIC0zMiw3ICszMiw3
IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVs
bFN0cmluZ1RvPU51bGwsIENvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgZGF0YQog
ICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwogCi0jaWYg
IWRlZmluZWQoTEFOR1VBR0VfQ09NKQorI2lmICFkZWZpbmVkKExBTkdVQUdFX0NPTSkgfHwgIUxB
TkdVQUdFX0NPTQogICAgICAgICAvLyBpbnRlcmZhY2UgTGlua1N0eWxlIGZyb20gRE9NIExldmVs
IDIgU3R5bGUgU2hlZXRzCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZVNoZWV0IHNo
ZWV0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9SYW5nZS5pZGwgYi9XZWJDb3Jl
L2RvbS9SYW5nZS5pZGwKaW5kZXggNDM0NDQ3NC4uMDc1MGMzMiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9kb20vUmFuZ2UuaWRsCisrKyBiL1dlYkNvcmUvZG9tL1JhbmdlLmlkbApAQCAtMTEyLDcgKzEx
Miw3IEBAIG1vZHVsZSByYW5nZXMgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
IGxvbmcgb2Zmc2V0KQogICAgICAgICAgICAgcmFpc2VzKFJhbmdlRXhjZXB0aW9uLCBET01FeGNl
cHRpb24pOwogCi0jaWYgIWRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkKKyNpZiAhZGVmaW5l
ZChMQU5HVUFHRV9KQVZBU0NSSVBUKSB8fCAhTEFOR1VBR0VfSkFWQVNDUklQVAogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRleHQ7CiAjZW5kaWYKICAgICB9OwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vUmFuZ2VFeGNlcHRpb24uaWRsIGIvV2ViQ29yZS9kb20vUmFuZ2VF
eGNlcHRpb24uaWRsCmluZGV4IDM2Y2RlMTYuLmQyY2YzODUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZG9tL1JhbmdlRXhjZXB0aW9uLmlkbAorKysgYi9XZWJDb3JlL2RvbS9SYW5nZUV4Y2VwdGlvbi5p
ZGwKQEAgLTI3LDcgKzI3LDcgQEAgbW9kdWxlIHJhbmdlcyB7CiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgICAgICAgIG5hbWU7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgICAgICAgIG1lc3NhZ2U7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFT
Q1JJUFQpCisjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZB
U0NSSVBUCiAgICAgICAgIFtEb250RW51bV0gRE9NU3RyaW5nIHRvU3RyaW5nKCk7CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vV2hlZWxFdmVudC5pZGwgYi9XZWJDb3JlL2RvbS9X
aGVlbEV2ZW50LmlkbAppbmRleCAxNDQ1NTA5Li40Y2JhNGFjIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9XaGVlbEV2ZW50LmlkbAorKysgYi9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmlkbApAQCAt
NDIsMTEgKzQyLDExIEBAIG1vZHVsZSBldmVudHMgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgbG9uZyAgICB4OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyAgICB5OwogCi0j
aWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykKKyNpZiBkZWZpbmVkKExBTkdVQUdFX09C
SkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgYm9vbGVhbiBpc0hvcml6b250YWw7CiAjZW5kaWYgLyogZGVmaW5lZChMQU5HVUFHRV9P
QkpFQ1RJVkVfQykgKi8KIAotI2lmICFkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpCisjaWYg
IWRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgfHwgIUxBTkdVQUdFX0pBVkFTQ1JJUFQKICAg
ICAgICAgdm9pZCBpbml0V2hlZWxFdmVudChpbiBsb25nIHdoZWVsRGVsdGFYLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluIGxvbmcgd2hlZWxEZWx0YVksIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIERPTVdpbmRvdyB2aWV3LCAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9DYW52YXNQaXhlbEFycmF5LmlkbCBiL1dlYkNvcmUvaHRtbC9DYW52YXNQaXhlbEFycmF5Lmlk
bAppbmRleCA5YjMzM2U0Li5jODE1Nzg4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvQ2FudmFz
UGl4ZWxBcnJheS5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0NhbnZhc1BpeGVsQXJyYXkuaWRsCkBA
IC0yNyw3ICsyNyw3IEBACiAgKi8KIAogbW9kdWxlIGh0bWwgewotI2lmICFkZWZpbmVkKExBTkdV
QUdFX0pBVkFTQ1JJUFQpIHx8IGRlZmluZWQoVjhfQklORElORykKKyNpZiAhZGVmaW5lZChMQU5H
VUFHRV9KQVZBU0NSSVBUKSB8fCAhTEFOR1VBR0VfSkFWQVNDUklQVCB8fCBkZWZpbmVkKFY4X0JJ
TkRJTkcpICYmIFY4X0JJTkRJTkcKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDdXN0b21IZWFk
ZXIsCiAgICAgICAgIEhhc0N1c3RvbUluZGV4R2V0dGVyLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVu
dC5pZGwKaW5kZXggZjNhMTVlZS4uYzJkZGEzZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hU
TUxBbmNob3JFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQu
aWRsCkBAIC00NywxMSArNDcsMTEgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHNlYXJjaDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyB0ZXh0OwogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKQorI2lmIGRl
ZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQVAogICAgICAg
ICBbRG9udEVudW1dIERPTVN0cmluZyB0b1N0cmluZygpOwogI2VuZGlmCiAKLSNpZiBkZWZpbmVk
KExBTkdVQUdFX09CSkVDVElWRV9DKQorI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0Mp
ICYmIExBTkdVQUdFX09CSkVDVElWRV9DCiAgICAgICAgIC8vIE9iamVjdGl2ZS1DIGV4dGVuc2lv
bjoKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVSTCBhYnNvbHV0ZUxpbmtVUkw7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5pZGwgYi9XZWJD
b3JlL2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuaWRsCmluZGV4IDc5NGYwMDAuLjk1ZjAzYTcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5pZGwKKysrIGIvV2ViQ29y
ZS9odG1sL0hUTUxBcHBsZXRFbGVtZW50LmlkbApAQCAtMzUsMTQgKzM1LDE0IEBAIG1vZHVsZSBo
dG1sIHsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmlu
Z10gRE9NU3RyaW5nIGNvZGU7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51
bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBjb2RlQmFzZTsKICAgICAgICAgICAgICAgICAgYXR0
cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGhlaWdodDsKLSNpZiBk
ZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpCisjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NS
SVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBUCiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBb
Q29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBoc3BhY2U7CiAjZWxzZQogICAgICAg
ICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnRGcm9tU3RyaW5nXSBsb25nIGhzcGFjZTsKICNl
bmRpZgogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5n
XSBET01TdHJpbmcgbmFtZTsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVs
bFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIG9iamVjdDsKLSNpZiBkZWZpbmVkKExBTkdVQUdFX0pB
VkFTQ1JJUFQpCisjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9K
QVZBU0NSSVBUCiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxT
dHJpbmddIERPTVN0cmluZyB2c3BhY2U7CiAjZWxzZQogICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgW0NvbnZlcnRGcm9tU3RyaW5nXSBsb25nIHZzcGFjZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9IVE1MQXJlYUVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5p
ZGwKaW5kZXggMzljYzcxOS4uZDgwZWJlZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxB
cmVhRWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5pZGwKQEAg
LTQyLDcgKzQyLDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHByb3RvY29sOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IHNlYXJjaDsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpCisjaWYgZGVmaW5l
ZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKICAgICAgICAg
Ly8gT2JqZWN0aXZlLUMgZXh0ZW5zaW9uOgogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVJM
IGFic29sdXRlTGlua1VSTDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxC
YXNlRm9udEVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuaWRs
CmluZGV4IGE5NGYzYWIuLmYwOWM5ZDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MQmFz
ZUZvbnRFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEJhc2VGb250RWxlbWVudC5p
ZGwKQEAgLTI2LDcgKzI2LDcgQEAgbW9kdWxlIGh0bWwgewogICAgIF0gSFRNTEJhc2VGb250RWxl
bWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVs
bFN0cmluZ10gRE9NU3RyaW5nIGNvbG9yOwogICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxs
VG9OdWxsU3RyaW5nXSBET01TdHJpbmcgZmFjZTsKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVD
VElWRV9DKQorI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09C
SkVDVElWRV9DCiAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydFRvU3RyaW5nXSBET01TdHJpbmcg
c2l6ZTsgLy8gdGhpcyBjaGFuZ2VkIHRvIGEgbG9uZywgYnV0IG91ciBleGlzdGluZyBBUEkgaXMg
YSBzdHJpbmcKICNlbHNlCiAgICAgICAgIGF0dHJpYnV0ZSBsb25nIHNpemU7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxD
YW52YXNFbGVtZW50LmlkbAppbmRleCBiZjY5YWMwLi4xM2ZjNjIzIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MQ2Fu
dmFzRWxlbWVudC5pZGwKQEAgLTM3LDcgKzM3LDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBE
T01TdHJpbmcgdG9EYXRhVVJMKGluIFtDb252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5n
XSBET01TdHJpbmcgdHlwZSkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCi0j
aWYgIWRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpCisjaWYgIWRlZmluZWQoTEFOR1VBR0Vf
T0JKRUNUSVZFX0MpIHx8ICFMQU5HVUFHRV9PQkpFQ1RJVkVfQwogICAgICAgICBbVjhDdXN0b21d
IERPTU9iamVjdCBnZXRDb250ZXh0KGluIERPTVN0cmluZyBjb250ZXh0SWQpOwogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuaWRsIGIvV2ViQ29yZS9odG1s
L0hUTUxEb2N1bWVudC5pZGwKaW5kZXggNDM0NTE5NS4uM2RkN2EwNyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0hUTUxEb2N1bWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVu
dC5pZGwKQEAgLTM3LDcgKzM3LDcgQEAgbW9kdWxlIGh0bWwgewogCiAgICAgICAgIC8vIEV4dGVu
c2lvbnMKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkKKyNpZiBkZWZpbmVkKExB
TkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pBVkFTQ1JJUFQKICAgICAgICAgLy8gRklY
TUU6IFRoaXMgc2hvdWxkIGV2ZW50dWFsbHkgYmUgYXZhaWxhYmxlIChpZiB0aGV5IGFyZSB3YW50
ZWQpIGZvciBhbGwgbGFuZ3VhZ2VzLgogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0N1c3Rv
bSwgRGVsZXRhYmxlXSBIVE1MQ29sbGVjdGlvbiBhbGw7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRs
CmluZGV4IDc0ZDAyNWIuLmVkMjE2MjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRWxl
bWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmlkbApAQCAtNjIsNyArNjIs
NyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51
bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBjb250ZW50RWRpdGFibGU7CiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzQ29udGVudEVkaXRhYmxlOwogCi0jaWYgZGVmaW5lZChM
QU5HVUFHRV9PQkpFQ1RJVkVfQykKKyNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAm
JiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHRpdGxlRGlzcGxheVN0cmluZzsKICNlbmRpZgogICAgIH07CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxl
bWVudC5pZGwKaW5kZXggMzZhYTk3Yi4uZWNmOGE5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L0hUTUxFbWJlZEVsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50
LmlkbApAQCAtMzAsNyArMzAsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIEltcGxlbWVudGF0
aW9uVVVJRD05M2UwNDA3YS04MzgwLTRmZjAtOTc4ZC1mNzczZjJkZWU2YTMKICAgICBdIEhUTUxF
bWJlZEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBb
Q29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBhbGlnbjsKLSNpZiBkZWZpbmVkKExB
TkdVQUdFX0pBVkFTQ1JJUFQpCisjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBM
QU5HVUFHRV9KQVZBU0NSSVBUCiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51
bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBoZWlnaHQ7CiAjZWxzZQogICAgICAgICAgICAgICAg
ICBhdHRyaWJ1dGUgW0NvbnZlcnRGcm9tU3RyaW5nXSBsb25nIGhlaWdodDsKQEAgLTM4LDE1ICsz
OCwxNSBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVy
dE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBuYW1lOwogICAgICAgICAgICAgICAgICBhdHRy
aWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgc3JjOwogICAgICAgICAg
ICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgdHlw
ZTsKLSNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpCisjaWYgZGVmaW5lZChMQU5HVUFH
RV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBUCiAgICAgICAgICAgICAgICAgIGF0
dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyB3aWR0aDsKICNlbHNl
CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydEZyb21TdHJpbmddIGxvbmcgd2lk
dGg7CiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKExBTkdVQUdFX0NPTSkKLSNpZiBFTkFCTEVfU1ZH
Ci0jaWYgIWRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpIHx8IGRlZmluZWQoRU5BQkxFX1NW
R19ET01fT0JKQ19CSU5ESU5HUykKKyNpZiAhZGVmaW5lZChMQU5HVUFHRV9DT00pIHx8ICFMQU5H
VUFHRV9DT00KKyNpZiBkZWZpbmVkKEVOQUJMRV9TVkcpICYmIEVOQUJMRV9TVkcKKyNpZiAhZGVm
aW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgfHwgIUxBTkdVQUdFX09CSkVDVElWRV9DIHx8IGRl
ZmluZWQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJiYgRU5BQkxFX1NWR19ET01fT0JK
Q19CSU5ESU5HUwogICAgICAgICBbU1ZHQ2hlY2tTZWN1cml0eURvY3VtZW50XSBTVkdEb2N1bWVu
dCBnZXRTVkdEb2N1bWVudCgpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnQuaWRsIGIvV2Vi
Q29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnQuaWRsCmluZGV4IGE4YjVkMzQuLjEwNmU1N2UgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50LmlkbAorKysgYi9XZWJDb3Jl
L2h0bWwvSFRNTEZyYW1lRWxlbWVudC5pZGwKQEAgLTM4LDEyICszOCwxMiBAQCBtb2R1bGUgaHRt
bCB7CiAgICAgICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6CiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBbQ2hlY2tGcmFtZVNlY3VyaXR5XSBEb2N1bWVudCAgICAgICAgY29udGVu
dERvY3VtZW50OwogCi0jaWYgIWRlZmluZWQoTEFOR1VBR0VfQ09NKQorI2lmICFkZWZpbmVkKExB
TkdVQUdFX0NPTSkgfHwgIUxBTkdVQUdFX0NPTQogICAgICAgICAvLyBFeHRlbnNpb25zCiAgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01XaW5kb3cgY29udGVudFdpbmRvdzsKIAotI2lmIEVO
QUJMRV9TVkcKLSNpZiAhZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgfHwgZGVmaW5lZChF
TkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKQorI2lmIGRlZmluZWQoRU5BQkxFX1NWRykgJiYg
RU5BQkxFX1NWRworI2lmICFkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSB8fCAhTEFOR1VB
R0VfT0JKRUNUSVZFX0MgfHwgZGVmaW5lZChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAm
JiBFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTCiAgICAgICAgIFtTVkdDaGVja1NlY3VyaXR5
RG9jdW1lbnRdIFNWR0RvY3VtZW50IGdldFNWR0RvY3VtZW50KCkKICAgICAgICAgICAgIHJhaXNl
cyhET01FeGNlcHRpb24pOwogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElG
cmFtZUVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmlkbAppbmRl
eCAyYmQ5MDU2Li5iNTY4NGNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVs
ZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5pZGwKQEAgLTQw
LDEyICs0MCwxMiBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIC8vIEludHJvZHVjZWQgaW4gRE9N
IExldmVsIDI6CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ2hlY2tGcmFtZVNlY3VyaXR5
XSBEb2N1bWVudCAgICAgICAgY29udGVudERvY3VtZW50OwogCi0jaWYgIWRlZmluZWQoTEFOR1VB
R0VfQ09NKQorI2lmICFkZWZpbmVkKExBTkdVQUdFX0NPTSkgfHwgIUxBTkdVQUdFX0NPTQogICAg
ICAgICAvLyBFeHRlbnNpb25zCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01XaW5kb3cg
Y29udGVudFdpbmRvdzsKIAotI2lmIEVOQUJMRV9TVkcKLSNpZiAhZGVmaW5lZChMQU5HVUFHRV9P
QkpFQ1RJVkVfQykgfHwgZGVmaW5lZChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKQorI2lm
IGRlZmluZWQoRU5BQkxFX1NWRykgJiYgRU5BQkxFX1NWRworI2lmICFkZWZpbmVkKExBTkdVQUdF
X09CSkVDVElWRV9DKSB8fCAhTEFOR1VBR0VfT0JKRUNUSVZFX0MgfHwgZGVmaW5lZChFTkFCTEVf
U1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAmJiBFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTCiAg
ICAgICAgIFtTVkdDaGVja1NlY3VyaXR5RG9jdW1lbnRdIFNWR0RvY3VtZW50IGdldFNWR0RvY3Vt
ZW50KCkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRN
TEltYWdlRWxlbWVudC5pZGwKaW5kZXggZmU2NGU2Zi4uZDdkYTA4OCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmlkbApAQCAtNDYsNyArNDYsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBsb25nIHg7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25n
IHk7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKQorI2lmIGRlZmluZWQoTEFO
R1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCiAgICAgICAgIC8vIE9i
amVjdGl2ZS1DIGV4dGVuc2lvbjoKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBhbHREaXNwbGF5U3RyaW5nOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVJMIGFic29s
dXRlSW1hZ2VVUkw7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5p
ZGwgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKaW5kZXggMDczNGU2YS4uNjg2
M2Q5ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCisrKyBi
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbApAQCAtMzksNyArMzksNyBAQCBtb2R1
bGUgaHRtbCB7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAgbXVs
dGlwbGU7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJp
bmddIERPTVN0cmluZyBuYW1lOwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiAg
ICAgICAgIHJlYWRPbmx5OwotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpCisjaWYg
ZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKICAg
ICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0VG9TdHJpbmddIERPTVN0cmluZyBzaXpl
OyAvLyBET00gbGV2ZWwgMiBjaGFuZ2VkIHRoaXMgdG8gYSBsb25nLCBidXQgb3VyIGV4aXN0aW5n
IEFQSSBpcyBhIHN0cmluZwogI2Vsc2UKICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IHRoZSBz
cGVjIHNheXMgdGhpcyBzaG91bGQgYmUgYSBsb25nLCBub3QgYW4gdW5zaWduZWQgbG9uZwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwv
SFRNTExpbmtFbGVtZW50LmlkbAppbmRleCA1MzJhYzMxLi45OGRlODA5IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTExp
bmtFbGVtZW50LmlkbApAQCAtMzUsMTIgKzM1LDEyIEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAg
YXR0cmlidXRlICBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAgICAgICAgICAg
IHRhcmdldDsKICAgICAgICAgYXR0cmlidXRlICBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERP
TVN0cmluZyAgICAgICAgICAgIHR5cGU7CiAKLSNpZiAhZGVmaW5lZChMQU5HVUFHRV9DT00pCisj
aWYgIWRlZmluZWQoTEFOR1VBR0VfQ09NKSB8fCAhTEFOR1VBR0VfQ09NCiAgICAgICAgIC8vIERP
TSBMZXZlbCAyIFN0eWxlCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZVNoZWV0ICAg
c2hlZXQ7CiAjZW5kaWYKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpCisjaWYg
ZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKICAg
ICAgICAgLy8gT2JqZWN0aXZlLUMgZXh0ZW5zaW9uOgogICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgVVJMIGFic29sdXRlTGlua1VSTDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L0hUTUxPYmplY3RFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5p
ZGwKaW5kZXggZjVhYzlmNy4uNWQ0NTYyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxP
YmplY3RFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRs
CkBAIC01MCwxNiArNTAsMTYgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICAvLyBJbnRyb2R1Y2Vk
IGluIERPTSBMZXZlbCAyOgogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0NoZWNrRnJhbWVT
ZWN1cml0eV0gRG9jdW1lbnQgICAgICAgIGNvbnRlbnREb2N1bWVudDsKIAotI2lmICFkZWZpbmVk
KExBTkdVQUdFX0NPTSkKLSNpZiBFTkFCTEVfU1ZHCi0jaWYgIWRlZmluZWQoTEFOR1VBR0VfT0JK
RUNUSVZFX0MpIHx8IGRlZmluZWQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykKKyNpZiAh
ZGVmaW5lZChMQU5HVUFHRV9DT00pIHx8ICFMQU5HVUFHRV9DT00KKyNpZiBkZWZpbmVkKEVOQUJM
RV9TVkcpICYmIEVOQUJMRV9TVkcKKyNpZiAhZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykg
fHwgIUxBTkdVQUdFX09CSkVDVElWRV9DIHx8IGRlZmluZWQoRU5BQkxFX1NWR19ET01fT0JKQ19C
SU5ESU5HUykgJiYgRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUwogICAgICAgICBbU1ZHQ2hl
Y2tTZWN1cml0eURvY3VtZW50XSBTVkdEb2N1bWVudCBnZXRTVkdEb2N1bWVudCgpCiAgICAgICAg
ICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICNlbmRpZgogI2VuZGlmCiAjZW5kaWYKIAotI2lm
IGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpCisjaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpF
Q1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKICAgICAgICAgLy8gT2JqZWN0aXZlLUMg
ZXh0ZW5zaW9uOgogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVJMICAgICAgICAgICAgIGFi
c29sdXRlSW1hZ2VVUkw7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MT3B0
aW9uRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaWRsCmluZGV4
IDM0ZmE5OTkuLjYxMmQ0NTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxl
bWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbApAQCAtMjgs
NyArMjgsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgXSBIVE1MT3B0aW9uRWxlbWVudCA6IEhUTUxF
bGVtZW50IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBIVE1MRm9ybUVsZW1lbnQgICAg
ICBmb3JtOwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgIGJvb2xlYW4gICAgICAgICAgICAg
IGRlZmF1bHRTZWxlY3RlZDsKLSNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpCisjaWYg
ZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBUCiAgICAg
ICAgICAgICAgICAgIGF0dHJpYnV0ZSAgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJp
bmcgICAgICAgICAgICB0ZXh0CiAgICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERP
TUV4Y2VwdGlvbik7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25z
Q29sbGVjdGlvbi5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmlkbApp
bmRleCAyMjZmM2Q3Li41Zjg1ZmNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlv
bnNDb2xsZWN0aW9uLmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9u
LmlkbApAQCAtMzYsNyArMzYsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgICAgICAgcmFpc2Vz
IChET01FeGNlcHRpb24pOwogICAgICAgICBbQ3VzdG9tXSB2b2lkIHJlbW92ZShpbiB1bnNpZ25l
ZCBsb25nIGluZGV4KTsKIAotI2lmICFkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpCisjaWYg
IWRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgfHwgIUxBTkdVQUdFX0pBVkFTQ1JJUFQKICAg
ICAgICAgTm9kZSBpdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAgICAgICBOb2RlIG5h
bWVkSXRlbShpbiBET01TdHJpbmcgbmFtZSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1l
bnQuaWRsCmluZGV4IGQzZTg1YTguLmZiMDhiYjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9I
VE1MU2VsZWN0RWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50
LmlkbApAQCAtMzMsNyArMzMsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgICAgICAgICAgIGF0
dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAgICAgICB2YWx1ZTsK
ICAgICAgICAgCiAgICAgICAgIC8vIE1vZGlmaWVkIGluIERPTSBMZXZlbCAyOgotI2lmIGRlZmlu
ZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpCisjaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVf
QykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxv
bmcgICAgICAgICAgICBsZW5ndGg7CiAjZWxzZQogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyAgIGxlbmd0aApAQCAtNTYsNyArNTYsNyBAQCBtb2R1bGUgaHRtbCB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gSFRNTEVsZW1lbnQgYmVmb3JlKQogICAg
ICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX0pB
VkFTQ1JJUFQpCisjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9K
QVZBU0NSSVBUCiAgICAgICAgIC8vIEluIEpTLCB3ZSBzdXBwb3J0IGJvdGggb3B0aW9ucyBpbmRl
eCBhbmQgb3B0aW9ucyBvYmplY3QgcGFyYW1ldGVycyAtIHRoaXMgY2Fubm90IGJlIGF1dG9nZW5l
cmF0ZWQgbm93LgogICAgICAgICBbQ3VzdG9tXSB2b2lkICAgICAgcmVtb3ZlKC8qIDEgKi8pOwog
I2Vsc2UKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmlkbCBiL1dl
YkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmlkbAppbmRleCBlNjIzOGI3Li5hMWI4NmY4IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5pZGwKKysrIGIvV2ViQ29y
ZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaWRsCkBAIC0yOSw3ICsyOSw3IEBAIG1vZHVsZSBodG1s
IHsKICAgICAgICAgYXR0cmlidXRlICBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmlu
ZyAgICAgICAgICAgIG1lZGlhOwogICAgICAgICBhdHRyaWJ1dGUgIFtDb252ZXJ0TnVsbFRvTnVs
bFN0cmluZ10gRE9NU3RyaW5nICAgICAgICAgICAgdHlwZTsKIAotI2lmICFkZWZpbmVkKExBTkdV
QUdFX0NPTSkKKyNpZiAhZGVmaW5lZChMQU5HVUFHRV9DT00pIHx8ICFMQU5HVUFHRV9DT00KICAg
ICAgICAgLy8gRE9NIExldmVsIDIgU3R5bGUKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFN0
eWxlU2hlZXQgc2hlZXQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbWFnZURh
dGEuaWRsIGIvV2ViQ29yZS9odG1sL0ltYWdlRGF0YS5pZGwKaW5kZXggOWJlMTRmZi4uN2YzN2I1
MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0ltYWdlRGF0YS5pZGwKKysrIGIvV2ViQ29yZS9o
dG1sL0ltYWdlRGF0YS5pZGwKQEAgLTM0LDcgKzM0LDcgQEAgbW9kdWxlIGh0bWwgewogICAgIF0g
SW1hZ2VEYXRhIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgd2lkdGg7CiAgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGhlaWdodDsKLSNpZiAhZGVmaW5lZChMQU5HVUFH
RV9KQVZBU0NSSVBUKSB8fCBkZWZpbmVkKFY4X0JJTkRJTkcpCisjaWYgIWRlZmluZWQoTEFOR1VB
R0VfSkFWQVNDUklQVCkgfHwgIUxBTkdVQUdFX0pBVkFTQ1JJUFQgfHwgZGVmaW5lZChWOF9CSU5E
SU5HKSAmJiBWOF9CSU5ESU5HCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDYW52YXNQaXhl
bEFycmF5IGRhdGE7CiAjZW5kaWYKICAgICB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ29udHJvbGxlci5pZGwgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmlkbAppbmRleCA0NWVmNDM4Li43MjRmZThhIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmlkbAorKysgYi9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmlkbApAQCAtNTIsNyArNTIsNyBAQCBtb2R1bGUgY29yZSB7
CiAgICAgICAgIFtDdXN0b21dIHZvaWQgYWRkU291cmNlVG9GcmFtZShpbiBET01TdHJpbmcgbWlt
ZVR5cGUsIGluIERPTVN0cmluZyBzb3VyY2VWYWx1ZSwgaW4gTm9kZSBmcmFtZSk7CiAgICAgICAg
IFtDdXN0b21dIE5vZGUgZ2V0UmVzb3VyY2VEb2N1bWVudE5vZGUoaW4gbG9uZyBsb25nIGlkZW50
aWZpZXIpOwogICAgICAgICBbQ3VzdG9tXSB2b2lkIHNlYXJjaChpbiBOb2RlIG5vZGUsIGluIERP
TVN0cmluZyBxdWVyeSk7Ci0jaWYgRU5BQkxFX0RBVEFCQVNFCisjaWYgZGVmaW5lZChFTkFCTEVf
REFUQUJBU0UpICYmIEVOQUJMRV9EQVRBQkFTRQogICAgICAgICBbQ3VzdG9tXSBET01PYmplY3Qg
ZGF0YWJhc2VUYWJsZU5hbWVzKGluIERhdGFiYXNlIGRhdGFiYXNlKTsKICNlbmRpZgogICAgICAg
ICBbQ3VzdG9tXSBET01PYmplY3Qgc2V0dGluZyhpbiBET01TdHJpbmcga2V5KTsKQEAgLTY1LDcg
KzY1LDcgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICB2b2lkIHNldEF0dGFjaGVkV2luZG93SGVp
Z2h0KGluIHVuc2lnbmVkIGxvbmcgaGVpZ2h0KTsKICAgICAgICAgW0N1c3RvbV0gRE9NT2JqZWN0
IHdyYXBDYWxsYmFjayhpbiBET01PYmplY3QgY2FsbGJhY2spOwogCi0jaWYgRU5BQkxFX0pBVkFT
Q1JJUFRfREVCVUdHRVIKKyNpZiBkZWZpbmVkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAm
JiBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUgogICAgICAgICB2b2lkIGVuYWJsZURlYnVnZ2Vy
KCk7CiAgICAgICAgIHZvaWQgZGlzYWJsZURlYnVnZ2VyKCk7CiAgICAgICAgIHZvaWQgcGF1c2VJ
bkRlYnVnZ2VyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBs
aWNhdGlvbkNhY2hlLmlkbCBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9u
Q2FjaGUuaWRsCmluZGV4IDIzNjhjMzQuLjExNTZjOWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaWRsCisrKyBiL1dlYkNvcmUvbG9hZGVy
L2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaWRsCkBAIC00Myw3ICs0Myw3IEBAIG1vZHVs
ZSBvZmZsaW5lIHsKICAgICAgICAgdm9pZCBzd2FwQ2FjaGUoKQogICAgICAgICAgICAgcmFpc2Vz
KERPTUV4Y2VwdGlvbik7CiAKLSNpZiBFTkFCTEVfQVBQTElDQVRJT05fQ0FDSEVfRFlOQU1JQ19F
TlRSSUVTCisjaWYgZGVmaW5lZChFTkFCTEVfQVBQTElDQVRJT05fQ0FDSEVfRFlOQU1JQ19FTlRS
SUVTKSAmJiBFTkFCTEVfQVBQTElDQVRJT05fQ0FDSEVfRFlOQU1JQ19FTlRSSUVTCiAgICAgICAg
IC8vIGR5bmFtaWMgZW50cmllcwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
TGlzdCBpdGVtczsKICAgICAgICAgW0N1c3RvbV0gYm9vbGVhbiBoYXNJdGVtKGluIERPTVN0cmlu
ZyB1cmwpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5pZGwgYi9XZWJDb3JlL3Bh
Z2UvQ29uc29sZS5pZGwKaW5kZXggZmI3Njg4ZC4uNTMwYTIxZSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL0NvbnNvbGUuaWRsCisrKyBiL1dlYkNvcmUvcGFnZS9Db25zb2xlLmlkbApAQCAtMzAs
NyArMzAsNyBAQCBtb2R1bGUgd2luZG93IHsKIAogICAgIGludGVyZmFjZSBDb25zb2xlIHsKIAot
I2lmICFkZWZpbmVkKFY4X0JJTkRJTkcpCisjaWYgIWRlZmluZWQoVjhfQklORElORykgfHwgIVY4
X0JJTkRJTkcKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21HZXR0ZXJdIEFycmF5
IHByb2ZpbGVzOwogI2VuZGlmCiAgICAgCkBAIC00NSw3ICs0NSw3IEBAIG1vZHVsZSB3aW5kb3cg
ewogICAgICAgICBbQ3VzdG9tQXJndW1lbnRIYW5kbGluZywgSW1wbGVtZW50YXRpb25GdW5jdGlv
bj1hc3NlcnRDb25kaXRpb25dIHZvaWQgYXNzZXJ0KGluIGJvb2xlYW4gY29uZGl0aW9uKTsKICAg
ICAgICAgW0N1c3RvbUFyZ3VtZW50SGFuZGxpbmddIHZvaWQgY291bnQoKTsKIAotI2lmICFkZWZp
bmVkKFY4X0JJTkRJTkcpCisjaWYgIWRlZmluZWQoVjhfQklORElORykgfHwgIVY4X0JJTkRJTkcK
ICAgICAgICAgW0N1c3RvbUFyZ3VtZW50SGFuZGxpbmddIHZvaWQgcHJvZmlsZShpbiBbQ29udmVy
dFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHRpdGxlKTsKICAgICAgICAg
W0N1c3RvbUFyZ3VtZW50SGFuZGxpbmddIHZvaWQgcHJvZmlsZUVuZChpbiBbQ29udmVydFVuZGVm
aW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHRpdGxlKTsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL0Nvb3JkaW5hdGVzLmlkbCBiL1dlYkNvcmUvcGFnZS9Db29yZGlu
YXRlcy5pZGwKaW5kZXggYzEzMWUwZS4uZjZjODJiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L0Nvb3JkaW5hdGVzLmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvQ29vcmRpbmF0ZXMuaWRsCkBAIC0z
NCw3ICszNCw3IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtD
dXN0b21dIGRvdWJsZSBoZWFkaW5nOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3Rv
bV0gZG91YmxlIHNwZWVkOwogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKQorI2lm
IGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQVAogICAg
ICAgICBbRG9udEVudW1dIERPTVN0cmluZyB0b1N0cmluZygpOwogI2VuZGlmCiAgICAgfTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uaWRsIGIvV2ViQ29yZS9wYWdlL0RP
TVNlbGVjdGlvbi5pZGwKaW5kZXggYTU0ZjllNC4uYmU2YzJiNCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL0RPTVNlbGVjdGlvbi5pZGwKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5p
ZGwKQEAgLTU4LDcgKzU4LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgcmVtb3Zl
QWxsUmFuZ2VzKCk7CiAgICAgICAgIHZvaWQgYWRkUmFuZ2UoaW4gUmFuZ2UgcmFuZ2UpOwogCi0j
aWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKQorI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFW
QVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQVAogICAgICAgICBbRG9udEVudW1dIERPTVN0
cmluZyB0b1N0cmluZygpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaWRsIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggNjY1MmQzMC4uMGEy
Nzc0YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTEyMiw3ICsxMjIsNyBAQCBtb2R1bGUgd2luZG93IHsK
IAogICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0YXR1czsKICAgICAgICAgYXR0cmlidXRl
IERPTVN0cmluZyBkZWZhdWx0U3RhdHVzOwotI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQ
VCkKKyNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pBVkFTQ1JJ
UFQKICAgICAgICAgLy8gVGhpcyBhdHRyaWJ1dGUgaXMgYW4gYWxpYXMgb2YgZGVmYXVsdFN0YXR1
cyBhbmQgaXMgbmVjZXNzYXJ5IGZvciBsZWdhY3kgdXNlcy4KICAgICAgICAgYXR0cmlidXRlIERP
TVN0cmluZyBkZWZhdWx0c3RhdHVzOwogI2VuZGlmCkBAIC0xNTIsMTQgKzE1MiwxNCBAQCBtb2R1
bGUgd2luZG93IHsKICAgICAgICAgV2ViS2l0UG9pbnQgd2Via2l0Q29udmVydFBvaW50RnJvbVBh
Z2VUb05vZGUoaW4gTm9kZSBub2RlLCBpbiBXZWJLaXRQb2ludCBwKTsKICAgICAgICAgV2ViS2l0
UG9pbnQgd2Via2l0Q29udmVydFBvaW50RnJvbU5vZGVUb1BhZ2UoaW4gTm9kZSBub2RlLCBpbiBX
ZWJLaXRQb2ludCBwKTsKIAotI2lmIEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMKKyNp
ZiBkZWZpbmVkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICYmIEVOQUJMRV9PRkZM
SU5FX1dFQl9BUFBMSUNBVElPTlMKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTUFwcGxp
Y2F0aW9uQ2FjaGUgYXBwbGljYXRpb25DYWNoZTsKICNlbmRpZiAgICAKLSNpZiBFTkFCTEVfREFU
QUJBU0UKKyNpZiBkZWZpbmVkKEVOQUJMRV9EQVRBQkFTRSkgJiYgRU5BQkxFX0RBVEFCQVNFCiAg
ICAgICAgIERhdGFiYXNlIG9wZW5EYXRhYmFzZShpbiBET01TdHJpbmcgbmFtZSwgaW4gRE9NU3Ry
aW5nIHZlcnNpb24sIGluIERPTVN0cmluZyBkaXNwbGF5TmFtZSwgaW4gdW5zaWduZWQgbG9uZyBl
c3RpbWF0ZWRTaXplKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAjZW5kaWYK
LSNpZiBFTkFCTEVfRE9NX1NUT1JBR0UKKyNpZiBkZWZpbmVkKEVOQUJMRV9ET01fU1RPUkFHRSkg
JiYgRU5BQkxFX0RPTV9TVE9SQUdFCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdG9yYWdl
IHNlc3Npb25TdG9yYWdlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU3RvcmFnZSBsb2Nh
bFN0b3JhZ2U7CiAjZW5kaWYKQEAgLTIzMCw3ICsyMzAsNyBAQCBtb2R1bGUgd2luZG93IHsKICAg
ICAgICAgW1Y4Q3VzdG9tPURPTVdpbmRvd05PUF0gdm9pZCBjYXB0dXJlRXZlbnRzKC8qaW4gbG9u
ZyBldmVudEZsYWdzKi8pOwogICAgICAgICBbVjhDdXN0b209RE9NV2luZG93Tk9QXSB2b2lkIHJl
bGVhc2VFdmVudHMoLyppbiBsb25nIGV2ZW50RmxhZ3MqLyk7CiAKLSNpZiBkZWZpbmVkKExBTkdV
QUdFX0pBVkFTQ1JJUFQpCisjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5H
VUFHRV9KQVZBU0NSSVBUCiAgICAgICAgIC8vIEdsb2JhbCBjb25zdHJ1Y3RvcnMKICAgICAgICAg
YXR0cmlidXRlIFN0eWxlU2hlZXRDb25zdHJ1Y3RvciBTdHlsZVNoZWV0OwogICAgICAgICBhdHRy
aWJ1dGUgQ1NTU3R5bGVTaGVldENvbnN0cnVjdG9yIENTU1N0eWxlU2hlZXQ7CkBAIC0zOTcsMTYg
KzM5NywxNiBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIFhNTEh0dHBSZXF1
ZXN0VXBsb2FkQ29uc3RydWN0b3IgWE1MSHR0cFJlcXVlc3RVcGxvYWQ7CiAgICAgICAgIGF0dHJp
YnV0ZSBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbkNvbnN0cnVjdG9yIFhNTEh0dHBSZXF1ZXN0RXhj
ZXB0aW9uOwogCi0jaWYgRU5BQkxFX1hTTFQKKyNpZiBkZWZpbmVkKEVOQUJMRV9YU0xUKSAmJiBF
TkFCTEVfWFNMVAogICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcl0gWFNMVFByb2Nl
c3NvckNvbnN0cnVjdG9yIFhTTFRQcm9jZXNzb3I7IC8vIFVzYWJsZSB3aXRoIHRoZSBuZXcgb3Bl
cmF0b3IKICNlbmRpZgogCi0jaWYgRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HCisjaWYgZGVmaW5l
ZChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICYmIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORwog
ICAgICAgICBhdHRyaWJ1dGUgTWVzc2FnZVBvcnRDb25zdHJ1Y3RvciBNZXNzYWdlUG9ydDsKICAg
ICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXJdIE1lc3NhZ2VDaGFubmVsQ29uc3RydWN0
b3IgTWVzc2FnZUNoYW5uZWw7IC8vIFVzYWJsZSB3aXRoIHRoZSBuZXcgb3BlcmF0b3IKICNlbmRp
ZgogCi0jaWYgRU5BQkxFX1dPUktFUlMKKyNpZiBkZWZpbmVkKEVOQUJMRV9XT1JLRVJTKSAmJiBF
TkFCTEVfV09SS0VSUwogICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcl0gV29ya2Vy
Q29uc3RydWN0b3IgV29ya2VyOyAvLyBVc2FibGUgd2l0aCB0aGUgbmV3IG9wZXJhdG9yCiAjZW5k
aWYKIApAQCAtNDE5LDEyICs0MTksMTIgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJp
YnV0ZSBDbGllbnRSZWN0Q29uc3RydWN0b3IgQ2xpZW50UmVjdDsKICAgICAgICAgYXR0cmlidXRl
IENsaWVudFJlY3RMaXN0Q29uc3RydWN0b3IgQ2xpZW50UmVjdExpc3Q7CiAKLSNpZiBFTkFCTEVf
RE9NX1NUT1JBR0UKKyNpZiBkZWZpbmVkKEVOQUJMRV9ET01fU1RPUkFHRSkgJiYgRU5BQkxFX0RP
TV9TVE9SQUdFCiAgICAgICAgIGF0dHJpYnV0ZSBTdG9yYWdlQ29uc3RydWN0b3IgU3RvcmFnZTsK
ICAgICAgICAgYXR0cmlidXRlIFN0b3JhZ2VFdmVudENvbnN0cnVjdG9yIFN0b3JhZ2VFdmVudDsK
ICNlbmRpZgogCi0jaWYgRU5BQkxFX1ZJREVPCisjaWYgZGVmaW5lZChFTkFCTEVfVklERU8pICYm
IEVOQUJMRV9WSURFTwogICAgICAgICBhdHRyaWJ1dGUgW0N1c3RvbUdldHRlcl0gSFRNTEF1ZGlv
RWxlbWVudENvbnN0cnVjdG9yIEF1ZGlvOyAvLyBVc2FibGUgd2l0aCB0aGUgbmV3IG9wZXJhdG9y
CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MQXVkaW9FbGVtZW50Q29uc3RydWN0b3IgSFRNTEF1ZGlv
RWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxNZWRpYUVsZW1lbnRDb25zdHJ1Y3RvciBI
VE1MTWVkaWFFbGVtZW50OwpAQCAtNDMyLDEzICs0MzIsMTMgQEAgbW9kdWxlIHdpbmRvdyB7CiAg
ICAgICAgIGF0dHJpYnV0ZSBNZWRpYUVycm9yQ29uc3RydWN0b3IgTWVkaWFFcnJvcjsKICNlbmRp
ZgogCi0jaWYgRU5BQkxFX1hQQVRICisjaWYgZGVmaW5lZChFTkFCTEVfWFBBVEgpICYmIEVOQUJM
RV9YUEFUSAogICAgICAgICBhdHRyaWJ1dGUgWFBhdGhFdmFsdWF0b3JDb25zdHJ1Y3RvciBYUGF0
aEV2YWx1YXRvcjsKICAgICAgICAgYXR0cmlidXRlIFhQYXRoUmVzdWx0Q29uc3RydWN0b3IgWFBh
dGhSZXN1bHQ7CiAgICAgICAgIGF0dHJpYnV0ZSBYUGF0aEV4Y2VwdGlvbkNvbnN0cnVjdG9yIFhQ
YXRoRXhjZXB0aW9uOwogI2VuZGlmCiAKLSNpZiBFTkFCTEVfU1ZHCisjaWYgZGVmaW5lZChFTkFC
TEVfU1ZHKSAmJiBFTkFCTEVfU1ZHCiAgICAgICAgIGF0dHJpYnV0ZSBTVkdBbmdsZUNvbnN0cnVj
dG9yIFNWR0FuZ2xlOwogICAgICAgICBhdHRyaWJ1dGUgU1ZHQ29sb3JDb25zdHJ1Y3RvciBTVkdD
b2xvcjsKIC8vICAgICAgYXR0cmlidXRlIFNWR0NTU1J1bGVDb25zdHJ1Y3RvciBTVkdDU1NSdWxl
OwpAQCAtNDU3LDcgKzQ1Nyw3IEBAIG1vZHVsZSB3aW5kb3cgewogLy8gICAgICBhdHRyaWJ1dGUg
U1ZHWm9vbUFuZFBhbkNvbnN0cnVjdG9yIFNWR1pvb21BbmRQYW47CiAjZW5kaWYKIAotI2lmIEVO
QUJMRV9TVkdfRklMVEVSUworI2lmIGRlZmluZWQoRU5BQkxFX1NWR19GSUxURVJTKSAmJiBFTkFC
TEVfU1ZHX0ZJTFRFUlMKICAgICAgICAgYXR0cmlidXRlIFNWR0NvbXBvbmVudFRyYW5zZmVyRnVu
Y3Rpb25FbGVtZW50Q29uc3RydWN0b3IgU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1l
bnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBTVkdGRUJsZW5kRWxlbWVudENvbnN0cnVjdG9yIFNWR0ZF
QmxlbmRFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnRD
b25zdHJ1Y3RvciBTVkdGRUNvbG9yTWF0cml4RWxlbWVudDsKQEAgLTQ3MCw3ICs0NzAsNyBAQCBt
b2R1bGUgd2luZG93IHsKIAogI2VuZGlmIC8vIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkK
IAotI2lmIGRlZmluZWQoVjhfQklORElORykKKyNpZiBkZWZpbmVkKFY4X0JJTkRJTkcpICYmIFY4
X0JJTkRJTkcKICAgICAgICAgLy8gd2luZG93LnRvU3RyaW5nKCkgcmVxdWlyZXMgc3BlY2lhbCBo
YW5kbGluZyBpbiBWOAogICAgICAgICBbVjhEb05vdENoZWNrU2lnbmF0dXJlLCBEb05vdENoZWNr
RG9tYWluU2VjdXJpdHksIEN1c3RvbSwgRG9udEVudW1dIERPTVN0cmluZyB0b1N0cmluZygpOwog
I2VuZGlmIC8vIGRlZmluZWQoVjhfQklORElORykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9H
ZW9wb3NpdGlvbi5pZGwgYi9XZWJDb3JlL3BhZ2UvR2VvcG9zaXRpb24uaWRsCmluZGV4IDJiY2Q0
MGQuLmRlNTA4ZmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9HZW9wb3NpdGlvbi5pZGwKKysr
IGIvV2ViQ29yZS9wYWdlL0dlb3Bvc2l0aW9uLmlkbApAQCAtMjksNyArMjksNyBAQCBtb2R1bGUg
Y29yZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDb29yZGluYXRlcyBjb29yZHM7CiAg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01UaW1lU3RhbXAgdGltZXN0YW1wOwogCi0jaWYg
ZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKQorI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVND
UklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQVAogICAgICAgICBbRG9udEVudW1dIERPTVN0cmlu
ZyB0b1N0cmluZygpOwogI2VuZGlmCiAgICAgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9I
aXN0b3J5LmlkbCBiL1dlYkNvcmUvcGFnZS9IaXN0b3J5LmlkbAppbmRleCBjOGNkZGFlLi5mYTMw
OGZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvSGlzdG9yeS5pZGwKKysrIGIvV2ViQ29yZS9w
YWdlL0hpc3RvcnkuaWRsCkBAIC0yNiw3ICsyNiw3IEBACiBtb2R1bGUgd2luZG93IHsKIAogICAg
IGludGVyZmFjZSBbCi0jaWYgZGVmaW5lZChWOF9CSU5ESU5HKQorI2lmIGRlZmluZWQoVjhfQklO
RElORykgJiYgVjhfQklORElORwogICAgICAgICBDaGVja0RvbWFpblNlY3VyaXR5LAogI2VuZGlm
CiAgICAgICAgIEN1c3RvbUdldE93blByb3BlcnR5U2xvdCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9Mb2NhdGlvbi5pZGwgYi9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsCmluZGV4IGM1OWE3
ZmEuLmU3ZmEzMWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5pZGwKKysrIGIv
V2ViQ29yZS9wYWdlL0xvY2F0aW9uLmlkbApAQCAtMjksNyArMjksNyBAQAogbW9kdWxlIHdpbmRv
dyB7CiAKICAgICBpbnRlcmZhY2UgWwotI2lmIGRlZmluZWQoVjhfQklORElORykKKyNpZiBkZWZp
bmVkKFY4X0JJTkRJTkcpICYmIFY4X0JJTkRJTkcKICAgICAgICAgQ2hlY2tEb21haW5TZWN1cml0
eSwKICNlbmRpZgogICAgICAgICBDdXN0b21HZXRPd25Qcm9wZXJ0eVNsb3QsCkBAIC01NSwxMCAr
NTUsMTAgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ3Vz
dG9tU2V0dGVyXSBET01TdHJpbmcgc2VhcmNoOwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUg
W0N1c3RvbVNldHRlcl0gRE9NU3RyaW5nIGhhc2g7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX0pB
VkFTQ1JJUFQpCisjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9K
QVZBU0NSSVBUCiAgICAgICAgIFtEb250RW51bSwgQ3VzdG9tLCBWOE9uSW5zdGFuY2UsIFY4UmVh
ZE9ubHldIERPTVN0cmluZyB0b1N0cmluZygpOwogI2VuZGlmCi0jaWYgZGVmaW5lZChWOF9CSU5E
SU5HKQorI2lmIGRlZmluZWQoVjhfQklORElORykgJiYgVjhfQklORElORwogICAgICAgICBbRG9u
dEVudW0sIEN1c3RvbSwgVjhPbkluc3RhbmNlLCBWOFJlYWRPbmx5XSBET01PYmplY3QgdmFsdWVP
ZigpOwogI2VuZGlmCiAgICAgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3Iu
aWRsIGIvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwKaW5kZXggNWZiNmM2MS4uYjlkZDZmZSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwKKysrIGIvV2ViQ29yZS9wYWdl
L05hdmlnYXRvci5pZGwKQEAgLTM5LDcgKzM5LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAg
IAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBvbkxpbmU7CiAKLSNpZiBFTkFC
TEVfR0VPTE9DQVRJT04KKyNpZiBkZWZpbmVkKEVOQUJMRV9HRU9MT0NBVElPTikgJiYgRU5BQkxF
X0dFT0xPQ0FUSU9OCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBHZW9sb2NhdGlvbiBnZW9s
b2NhdGlvbjsKICNlbmRpZgogICAgIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50SW5zdGFuY2UuaWRsIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmlkbAppbmRl
eCA4MDExMWQ0Li4zZDg4MTc4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5z
dGFuY2UuaWRsCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5pZGwKQEAgLTM0
LDcgKzM0LDcgQEAgbW9kdWxlIHN2ZyB7CiAgICAgICAgIEdlbmVyYXRlVG9KUywKICAgICAgICAg
R2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIKICAgICBdIFNWR0VsZW1lbnRJbnN0YW5jZQotI2lmIGRl
ZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpCisjaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJ
VkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKICAgICAgICAgOiBPYmplY3QsIEV2ZW50VGFy
Z2V0CiAjZW5kaWYgLyogZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgKi8KICAgICB7CkBA
IC00OCw3ICs0OCw3IEBAIG1vZHVsZSBzdmcgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
U1ZHRWxlbWVudEluc3RhbmNlIG5leHRTaWJsaW5nOwogCiAgICAgICAgIC8vIEV2ZW50VGFyZ2V0
Ci0jaWYgIWRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpCisjaWYgIWRlZmluZWQoTEFOR1VB
R0VfT0JKRUNUSVZFX0MpIHx8ICFMQU5HVUFHRV9PQkpFQ1RJVkVfQwogICAgICAgICBhdHRyaWJ1
dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9uYWJvcnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBb
RG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25ibHVyOwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRF
bnVtXSBFdmVudExpc3RlbmVyIG9uY2hhbmdlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZH
RXhjZXB0aW9uLmlkbCBiL1dlYkNvcmUvc3ZnL1NWR0V4Y2VwdGlvbi5pZGwKaW5kZXggYjdlOTdj
Ny4uMjMzZjY1MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRXhjZXB0aW9uLmlkbAorKysg
Yi9XZWJDb3JlL3N2Zy9TVkdFeGNlcHRpb24uaWRsCkBAIC0yOSw3ICsyOSw3IEBAIG1vZHVsZSBz
dmcgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAgICBuYW1lOwog
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAgICBtZXNzYWdlOwogCi0j
aWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKQorI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFW
QVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQVAogICAgICAgICAvLyBPdmVycmlkZSBpbiBh
IE1vemlsbGEgY29tcGF0aWJsZSBmb3JtYXQKICAgICAgICAgW0RvbnRFbnVtXSBET01TdHJpbmcg
dG9TdHJpbmcoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNv
bnRleHQuaWRsIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsCmluZGV4IDc4Y2Fj
NzcuLmQ5MWM2ZTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0Lmlk
bAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwKQEAgLTM2LDcgKzM2LDcg
QEAgbW9kdWxlIHRocmVhZHMgewogICAgIF0gV29ya2VyQ29udGV4dCB7CiAKICAgICAgICAgLy8g
V29ya2VyR2xvYmFsU2NvcGUKLSNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpCisjaWYg
ZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBUCiAgICAg
ICAgICAgICAgICAgIGF0dHJpYnV0ZSBbUmVwbGFjZWFibGVdIFdvcmtlckNvbnRleHQgc2VsZjsK
ICNlbmRpZgogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW1JlcGxhY2VhYmxlXSBXb3JrZXJM
b2NhdGlvbiBsb2NhdGlvbjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
RXhjZXB0aW9uLmlkbCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmlkbApp
bmRleCA3MDZiZWIyLi4zODBlNDI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdEV4Y2VwdGlvbi5pZGwKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRp
b24uaWRsCkBAIC0zNyw3ICszNyw3IEBAIG1vZHVsZSB4bWwgewogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nICAgICAgICBuYW1lOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nICAgICAgICBtZXNzYWdlOwogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZB
U0NSSVBUKQorI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFW
QVNDUklQVAogICAgICAgICAvLyBPdmVycmlkZSBpbiBhIE1vemlsbGEgY29tcGF0aWJsZSBmb3Jt
YXQKICAgICAgICAgW0RvbnRFbnVtXSBET01TdHJpbmcgdG9TdHJpbmcoKTsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhFeGNlcHRpb24uaWRsIGIvV2ViQ29yZS94bWwvWFBh
dGhFeGNlcHRpb24uaWRsCmluZGV4IDZlMjU1MTQuLmMzYzk1ZTMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUveG1sL1hQYXRoRXhjZXB0aW9uLmlkbAorKysgYi9XZWJDb3JlL3htbC9YUGF0aEV4Y2VwdGlv
bi5pZGwKQEAgLTM3LDcgKzM3LDcgQEAgbW9kdWxlIHhwYXRoIHsKICAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyAgICAgICAgbmFtZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIERPTVN0cmluZyAgICAgICAgbWVzc2FnZTsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFW
QVNDUklQVCkKKyNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pB
VkFTQ1JJUFQKICAgICAgICAgLy8gT3ZlcnJpZGUgaW4gYSBNb3ppbGxhIGNvbXBhdGlibGUgZm9y
bWF0CiAgICAgICAgIFtEb250RW51bV0gRE9NU3RyaW5nIHRvU3RyaW5nKCk7CiAjZW5kaWYK
</data>
<flag name="review"
          id="15184"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>