<?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>126237</bug_id>
          
          <creation_ts>2013-12-25 15:46:26 -0800</creation_ts>
          <short_desc>[iOS] Upstream WebCore/css changes</short_desc>
          <delta_ts>2014-01-03 14:24:51 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aestes</cc>
    
    <cc>allan.jensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbarton</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>962895</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-12-25 15:46:26 -0800</bug_when>
    <thetext>Upstream the iOS related changes to WebCore/css.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962896</commentid>
    <comment_count>1</comment_count>
      <attachid>220010</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-12-25 15:49:13 -0800</bug_when>
    <thetext>Created attachment 220010
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962897</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-25 15:50:59 -0800</bug_when>
    <thetext>Attachment 220010 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/css/CSSComputedStyleDeclaration.cpp&apos;, u&apos;Source/WebCore/css/CSSParser.cpp&apos;, u&apos;Source/WebCore/css/CSSPropertyNames.in&apos;, u&apos;Source/WebCore/css/CSSValueKeywords.in&apos;, u&apos;Source/WebCore/css/DeprecatedStyleBuilder.cpp&apos;, u&apos;Source/WebCore/css/MediaFeatureNames.h&apos;, u&apos;Source/WebCore/css/MediaQueryEvaluator.cpp&apos;, u&apos;Source/WebCore/css/StyleResolver.cpp&apos;, u&apos;Source/WebCore/css/html.css&apos;, u&apos;Source/WebCore/css/mathml.css&apos;, u&apos;Source/WebCore/css/mediaControlsiOS.css&apos;, u&apos;Source/WebCore/css/svg.css&apos;, &apos;--commit-queue&apos;]&quot; exit_code: 1
ERROR: Source/WebCore/css/MediaQueryEvaluator.cpp:641:  video_playable_inlineMediaFeatureEval is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 1 in 13 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>962985</commentid>
    <comment_count>3</comment_count>
      <attachid>220010</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-12-26 02:15:07 -0800</bug_when>
    <thetext>Comment on attachment 220010
Patch

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

I have one comment, shouldn&apos;t it be better to fix the composition-fill-color property usage before and land this after that without all those FIXME&apos;s? If that&apos;s not possible (too complicated) what about including a link to the tracking bug?

&gt; Source/WebCore/css/MediaQueryEvaluator.cpp:641
&gt; +static bool video_playable_inlineMediaFeatureEval(CSSValue*, RenderStyle*, Frame* frame, MediaFeaturePrefix)

CamelCase I guess. Also why are you passing all those arguments to the function if only frame is being used?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963343</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-12-30 10:25:52 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 220010 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=220010&amp;action=review
&gt; 
&gt; I have one comment, shouldn&apos;t it be better to fix the composition-fill-color property usage before and land this after that without all those FIXME&apos;s? If that&apos;s not possible (too complicated) what about including a link to the tracking bug?

It will be more straightforward to fix this up in a follow bug. Filed bug #126296. I&apos;ll update the comments to reference this bug number.

&gt; 
&gt; &gt; Source/WebCore/css/MediaQueryEvaluator.cpp:641
&gt; &gt; +static bool video_playable_inlineMediaFeatureEval(CSSValue*, RenderStyle*, Frame* frame, MediaFeaturePrefix)
&gt; 
&gt; CamelCase I guess. Also why are you passing all those arguments to the function if only frame is being used?

Notice that the signature of this function is partially fixed by the preprocessor logic for defining a new CSS media query feature. Some of that logic is in MediaFeatureNames.h , &lt;http://trac.webkit.org/browser/trunk/Source/WebCore/css/MediaFeatureNames.h?rev=148431#L34&gt;. I suggest that we defer changing the name of this function to a follow up patch so that we can also simultaneously change the name of all the other CSS media query functions. For completeness, the name of this function, specifically its use of CamelCase, is consistent with the naming convention used for other media query feature functions (e.g. device_aspect_ratioMediaFeatureEval() -  &lt;http://trac.webkit.org/browser/trunk/Source/WebCore/css/MediaQueryEvaluator.cpp?rev=160763#L269&gt;).

With regards to the unused parameters, the parameter list of this function is fixed by its caller, MediaQueryEvaluator::eval(), &lt;http://trac.webkit.org/browser/trunk/Source/WebCore/css/MediaQueryEvaluator.cpp?rev=160763#L715&gt;. It turns out that this function only makes use of the passed Frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963855</commentid>
    <comment_count>5</comment_count>
      <attachid>220010</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-01-02 13:16:44 -0800</bug_when>
    <thetext>Comment on attachment 220010
Patch

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

&gt; Source/WebCore/css/DeprecatedStyleBuilder.cpp:2292
&gt; +    // be float for sub-pixel kerning. See &lt;rdar://problem/5020763&gt;.

Wrong radar number?

Reference https://bugs.webkit.org/show_bug.cgi?id=20606 in the comment?

&gt; Source/WebCore/css/MediaQueryEvaluator.cpp:635
&gt; +    static wkDeviceClass deviceClass = iosDeviceClass();
&gt; +    return deviceClass == wkDeviceClassiPhone || deviceClass == wkDeviceClassiPod;

Seems odd for this behavioral limitation to be hardcoded in WebCore. It should be a client decision; maybe exposed via ChromeClient?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964262</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-01-03 14:08:12 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 220010 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=220010&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/DeprecatedStyleBuilder.cpp:2292
&gt; &gt; +    // be float for sub-pixel kerning. See &lt;rdar://problem/5020763&gt;.
&gt; 
&gt; Wrong radar number?
&gt; 
&gt; Reference https://bugs.webkit.org/show_bug.cgi?id=20606 in the comment?

Will fix up comment to reference bug #20606.

&gt; 
&gt; &gt; Source/WebCore/css/MediaQueryEvaluator.cpp:635
&gt; &gt; +    static wkDeviceClass deviceClass = iosDeviceClass();
&gt; &gt; +    return deviceClass == wkDeviceClassiPhone || deviceClass == wkDeviceClassiPod;
&gt; 
&gt; Seems odd for this behavioral limitation to be hardcoded in WebCore. It should be a client decision; maybe exposed via ChromeClient?

I agree. I hope you don&apos;t mind that I add a FIXME comment for now to fix this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964269</commentid>
    <comment_count>7</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-01-03 14:24:51 -0800</bug_when>
    <thetext>Committed r161286: &lt;http://trac.webkit.org/changeset/161286&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220010</attachid>
            <date>2013-12-25 15:49:13 -0800</date>
            <delta_ts>2014-01-02 13:16:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126237-20131225154910.patch</filename>
            <type>text/plain</type>
            <size>29250</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxMDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2E3NmE5NDYxNGEzNGRi
MGZjZTRhNGRhZTc4NGIwMThjYmE2YjJmMS4uMWQ1YjVmZTI4MWM3NWI4MjljZDRjZDkxNjFkOWI0
OWQzNDBjYTBkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEzLTEyLTI1ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBVcHN0cmVhbSBX
ZWJDb3JlL2NzcyBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjYyMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6cHJvcGVydHlWYWx1ZSk6IEFkZGVk
IGlPUy1zcGVjaWZpYyBjb2RlIGFuZCBGSVhNRSBjb21tZW50LgorICAgICAgICAqIGNzcy9DU1NQ
YXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyQ29udGV4dDo6Q1NTUGFyc2Vy
Q29udGV4dCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVl
KTogRGl0dG8uCisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46IEFkZGVkIHByb3Bl
cnR5IC13ZWJraXQtY29tcG9zaXRpb24tZmlsbC1jb2xvci4gQWxzbyBhZGRlZCBGSVhNRSBjb21t
ZW50LgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOiBBZGRlZCBpT1Mtc3BlY2lm
aWMgLWFwcGxlLXN5c3RlbS0qIHZhbHVlcy4KKyAgICAgICAgKiBjc3MvRGVwcmVjYXRlZFN0eWxl
QnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXByZWNhdGVkU3R5bGVCdWlsZGVyOjpE
ZXByZWNhdGVkU3R5bGVCdWlsZGVyKTogQWRkZWQgaU9TLXNwZWNpZmljIGNvZGUgYW5kIEZJWE1F
IGNvbW1lbnRzLgorICAgICAgICAqIGNzcy9NZWRpYUZlYXR1cmVOYW1lcy5oOiBBZGRlZCBtZWRp
YSBmZWF0dXJlIC13ZWJraXQtdmlkZW8tcGxheWFibGUtaW5saW5lLgorICAgICAgICAqIGNzcy9N
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzUnVubmluZ09uSVBo
b25lT3JJUG9kKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp2aWRlb19wbGF5YWJsZV9pbmxp
bmVNZWRpYUZlYXR1cmVFdmFsKTogQWRkZWQuCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6Y2FuU2hhcmVTdHlsZVdpdGhF
bGVtZW50KTogU3Vic3RpdHV0ZSB0b0hUTUxNZWRpYUVsZW1lbnQoKSBmb3IgdG9NZWRpYUVsZW1l
bnQoKS4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkpOiBB
ZGRlZCBpT1Mtc3BlY2lmaWMgY29kZSBhbmQgRklYTUUgY29tbWVudC4KKyAgICAgICAgKiBjc3Mv
aHRtbC5jc3M6IEFkZGVkIGlPUy1zcGVjaWZpYyBDU1Mgc3R5bGVzLgorICAgICAgICAoaW5wdXQs
IHRleHRhcmVhLCBrZXlnZW4sIHNlbGVjdCwgYnV0dG9uLCBpc2luZGV4KToKKyAgICAgICAgKGlz
aW5kZXgpOgorICAgICAgICAoaW5wdXRbdHlwZT0iZGF0ZSJdKToKKyAgICAgICAgKGlucHV0W3R5
cGU9ImRhdGV0aW1lIl0pOgorICAgICAgICAoaW5wdXRbdHlwZT0iZGF0ZXRpbWUtbG9jYWwiXSk6
CisgICAgICAgIChpbnB1dFt0eXBlPSJtb250aCJdKToKKyAgICAgICAgKGlucHV0W3R5cGU9InRp
bWUiXSk6CisgICAgICAgICh0ZXh0YXJlYSk6CisgICAgICAgIChpbnB1dDotd2Via2l0LWF1dG9m
aWxsKToKKyAgICAgICAgKGlucHV0W3R5cGU9InJhZGlvIl0sIGlucHV0W3R5cGU9ImNoZWNrYm94
Il0pOgorICAgICAgICAoaW5wdXRbdHlwZT0iYnV0dG9uIl0sIGlucHV0W3R5cGU9InN1Ym1pdCJd
LCBpbnB1dFt0eXBlPSJyZXNldCJdLCBpbnB1dFt0eXBlPSJmaWxlIl06Oi13ZWJraXQtZmlsZS11
cGxvYWQtYnV0dG9uLCBidXR0b24pOgorICAgICAgICAoaW5wdXRbdHlwZT0icmFuZ2UiXTo6LXdl
YmtpdC1zbGlkZXItdGh1bWIsIGlucHV0W3R5cGU9InJhbmdlIl06Oi13ZWJraXQtbWVkaWEtc2xp
ZGVyLXRodW1iKToKKyAgICAgICAgKGlucHV0W3R5cGU9InJhbmdlIl06Oi13ZWJraXQtc2xpZGVy
LXRodW1iOmFjdGl2ZSk6CisgICAgICAgIChpbnB1dDpkaXNhYmxlZCwgdGV4dGFyZWE6ZGlzYWJs
ZWQpOgorICAgICAgICAoaW5wdXRbcmVhZG9ubHldLCB0ZXh0YXJlYVtyZWFkb25seV0pOgorICAg
ICAgICAodGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIpOgorICAgICAgICAoaW5w
dXRbdHlwZT0iY2hlY2tib3giXSk6CisgICAgICAgIChpbnB1dFt0eXBlPSJyYWRpbyJdKToKKyAg
ICAgICAgKGlucHV0W3R5cGU9ImNoZWNrYm94Il06Y2hlY2tlZCwgaW5wdXRbdHlwZT0icmFkaW8i
XTpjaGVja2VkKToKKyAgICAgICAgKGlucHV0W3R5cGU9ImNoZWNrYm94Il06Y2hlY2tlZDpkaXNh
YmxlZCwgaW5wdXRbdHlwZT0icmFkaW8iXTpjaGVja2VkOmRpc2FibGVkKToKKyAgICAgICAgKHNl
bGVjdDpmb2N1cyk6CisgICAgICAgIChzZWxlY3QpOgorICAgICAgICAqIGNzcy9tYXRobWwuY3Nz
OiBBZGRlZCBpT1Mtc3BlY2lmaWMgQ1NTIHN0eWxlcy4KKyAgICAgICAgKG1hdGgsIG1mZW5jZWQg
PiAqKToKKyAgICAgICAgKG1vLCBtZmVuY2VkKToKKyAgICAgICAgKiBjc3MvbWVkaWFDb250cm9s
c2lPUy5jc3M6IEFkZGVkLgorICAgICAgICAqIGNzcy9zdmcuY3NzOiBBZGRlZCBpT1Mtc3BlY2lm
aWMgQ1NTIHN0eWxlcy4KKyAgICAgICAgKHRleHQsIHRzcGFuLCB0cmVmKToKKwogMjAxMy0xMi0y
NCAgTWlobmVhIE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTUmVn
aW9uc10gQ3Jhc2ggd2hpbGUgcmVwYWludGluZyBhbiBpbnZhbGlkIHJlZ2lvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCBh
YWRiNzZiY2Q5OGUyN2ZmN2YyNzM5ODI0YmVhODc0NzNkY2M0MGZlLi4wMDlmMmU3MGM1NjcwNzRl
ZGMzYjY3OTNiZTJhZjIzNmM3NTU0ZDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMzQ3LDYgKzM0NywxMCBAQCBzdGF0
aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBjb21wdXRlZFByb3BlcnRpZXNbXSA9IHsKICAgICBDU1NQ
cm9wZXJ0eVdlYmtpdFJ0bE9yZGVyaW5nLAogI2lmIFBMQVRGT1JNKElPUykKICAgICBDU1NQcm9w
ZXJ0eVdlYmtpdFRvdWNoQ2FsbG91dCwKKworICAgIC8vIEZJWE1FOiBUaGlzIHByb3BlcnR5IHNo
b3VsZG4ndCBiZSBpT1Mtc3BlY2lmaWMuIE9uY2Ugd2UgZml4IHVwIGl0cyB1c2FnZSBpbiBJbmxp
bmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZCgpCisgICAgLy8gd2Ugc2hvdWxk
IG1vdmUgaXQgb3V0c2lkZSB0aGUgUExBVEZPUk0oSU9TKS1ndWFyZC4KKyAgICBDU1NQcm9wZXJ0
eVdlYmtpdENvbXBvc2l0aW9uRmlsbENvbG9yLAogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19TSEFQ
RVMpCiAgICAgQ1NTUHJvcGVydHlXZWJraXRTaGFwZUluc2lkZSwKQEAgLTI3MzgsNiArMjc0Miwx
MiBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjpwcm9wZXJ0
eVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcGVydAogICAgICAgICB9CiAgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRSdGxPcmRlcmluZzoKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBv
b2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoc3R5bGUtPnJ0bE9yZGVyaW5nKCkgPyBDU1NWYWx1
ZVZpc3VhbCA6IENTU1ZhbHVlTG9naWNhbCk7CisjaWYgUExBVEZPUk0oSU9TKQorICAgICAgICAv
LyBGSVhNRTogVGhpcyBwcm9wZXJ0eSBzaG91bGRuJ3QgYmUgaU9TLXNwZWNpZmljLiBPbmNlIHdl
IGZpeCB1cCBpdHMgdXNhZ2UgaW4gSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvbkJhY2tn
cm91bmQoKQorICAgICAgICAvLyB3ZSBzaG91bGQgcmVtb3ZlIHRoZSBQTEFURk9STShJT1MpLWd1
YXJkLgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Q29tcG9zaXRpb25GaWxsQ29sb3I6
CisgICAgICAgICAgICByZXR1cm4gY3VycmVudENvbG9yT3JWYWxpZENvbG9yKHN0eWxlLmdldCgp
LCBzdHlsZS0+Y29tcG9zaXRpb25GaWxsQ29sb3IoKSk7CisjZW5kaWYKICNpZiBFTkFCTEUoVE9V
Q0hfRVZFTlRTKQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGFwSGlnaGxpZ2h0Q29s
b3I6CiAgICAgICAgICAgICByZXR1cm4gY3VycmVudENvbG9yT3JWYWxpZENvbG9yKHN0eWxlLmdl
dCgpLCBzdHlsZS0+dGFwSGlnaGxpZ2h0Q29sb3IoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3Bw
CmluZGV4IDEyZDQ0ZDBjYmE1MTRlZmMzNmE0ZmRlZmQ2NzhmZjQ4YzhhN2ZiZmMuLjM1ZjJlYzVh
MTc0ZDYzODA5YTM4OThkZDkyN2QzZTQyMzI2NjgxOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCkBAIC0yNjQsNiArMjY0LDEyIEBAIENTU1BhcnNlckNvbnRleHQ6OkNTU1BhcnNlckNvbnRl
eHQoQ1NTUGFyc2VyTW9kZSBtb2RlLCBjb25zdCBVUkwmIGJhc2VVUkwpCiAgICAgLCBlbmZvcmNl
c0NTU01JTUVUeXBlSW5Ob1F1aXJrc01vZGUodHJ1ZSkKICAgICAsIHVzZUxlZ2FjeUJhY2tncm91
bmRTaXplU2hvcnRoYW5kQmVoYXZpb3IoZmFsc2UpCiB7CisjaWYgUExBVEZPUk0oSU9TKQorICAg
IC8vIEZJWE1FOiBGb3JjZSB0aGUgc2l0ZSBzcGVjaWZpYyBxdWlyayBiZWxvdyB0byB3b3JrIG9u
IGlPUy4gSW52ZXN0aWdhdGluZyBvdGhlciBzaXRlIHNwZWNpZmljIHF1aXJrcworICAgIC8vIHRv
IHNlZSBpZiB3ZSBjYW4gZW5hYmxlIHRoZSBwcmVmZXJlbmNlIGFsbCB0b2dldGhlciBpcyB0byBi
ZSBoYW5kbGVkIGJ5OgorICAgIC8vIDxyZGFyOi8vcHJvYmxlbS84NDkzMzA5PiBJbnZlc3RpZ2F0
ZSBFbmFibGluZyBTaXRlIFNwZWNpZmljIFF1aXJrcyBpbiBNb2JpbGVTYWZhcmkgYW5kIFVJV2Vi
VmlldworICAgIG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzID0gdHJ1ZTsKKyNlbmRpZgogfQogCiBD
U1NQYXJzZXJDb250ZXh0OjpDU1NQYXJzZXJDb250ZXh0KERvY3VtZW50JiBkb2N1bWVudCwgY29u
c3QgVVJMJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQpCkBAIC0yODAsNiArMjg2LDEy
IEBAIENTU1BhcnNlckNvbnRleHQ6OkNTU1BhcnNlckNvbnRleHQoRG9jdW1lbnQmIGRvY3VtZW50
LCBjb25zdCBVUkwmIGJhc2VVUkwsIGNvbnN0CiAgICAgLCBlbmZvcmNlc0NTU01JTUVUeXBlSW5O
b1F1aXJrc01vZGUoIWRvY3VtZW50LnNldHRpbmdzKCkgfHwgZG9jdW1lbnQuc2V0dGluZ3MoKS0+
ZW5mb3JjZUNTU01JTUVUeXBlSW5Ob1F1aXJrc01vZGUoKSkKICAgICAsIHVzZUxlZ2FjeUJhY2tn
cm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3IoZG9jdW1lbnQuc2V0dGluZ3MoKSA/IGRvY3VtZW50
LnNldHRpbmdzKCktPnVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3IoKSA6
IGZhbHNlKQogeworI2lmIFBMQVRGT1JNKElPUykKKyAgICAvLyBGSVhNRTogRm9yY2UgdGhlIHNp
dGUgc3BlY2lmaWMgcXVpcmsgYmVsb3cgdG8gd29yayBvbiBpT1MuIEludmVzdGlnYXRpbmcgb3Ro
ZXIgc2l0ZSBzcGVjaWZpYyBxdWlya3MKKyAgICAvLyB0byBzZWUgaWYgd2UgY2FuIGVuYWJsZSB0
aGUgcHJlZmVyZW5jZSBhbGwgdG9nZXRoZXIgaXMgdG8gYmUgaGFuZGxlZCBieToKKyAgICAvLyA8
cmRhcjovL3Byb2JsZW0vODQ5MzMwOT4gSW52ZXN0aWdhdGUgRW5hYmxpbmcgU2l0ZSBTcGVjaWZp
YyBRdWlya3MgaW4gTW9iaWxlU2FmYXJpIGFuZCBVSVdlYlZpZXcKKyAgICBuZWVkc1NpdGVTcGVj
aWZpY1F1aXJrcyA9IHRydWU7CisjZW5kaWYKIH0KIAogYm9vbCBvcGVyYXRvcj09KGNvbnN0IENT
U1BhcnNlckNvbnRleHQmIGEsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGIpCkBAIC0yNzYwLDYg
KzI3NzIsMTggQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9w
SWQsIGJvb2wgaW1wb3J0YW50KQogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1MpCisgICAgLy8g
RklYTUU6IENTU1Byb3BlcnR5V2Via2l0Q29tcG9zaXRpb25GaWxsQ29sb3Igc2hvdWxkbid0IGJl
IGlPUy1zcGVjaWZpYy4gT25jZSB3ZSBmaXggdXAgaXRzIHVzYWdlIGluCisgICAgLy8gSW5saW5l
VGV4dEJveDo6cGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoKSB3ZSBzaG91bGQgbW92ZSBpdCBv
dXRzaWRlIHRoZSBQTEFURk9STShJT1MpLWd1YXJkLgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRDb21wb3NpdGlvbkZpbGxDb2xvcjoKKyAgICAgICAgaWYgKChpZCA+PSBDU1NWYWx1ZUFxdWEg
JiYgaWQgPD0gQ1NTVmFsdWVXaW5kb3d0ZXh0KSB8fCBpZCA9PSBDU1NWYWx1ZU1lbnUKKyAgICAg
ICAgICAgIHx8IChpZCA+PSBDU1NWYWx1ZVdlYmtpdEZvY3VzUmluZ0NvbG9yICYmIGlkIDwgQ1NT
VmFsdWVXZWJraXRUZXh0ICYmIGluUXVpcmtzTW9kZSgpKSkgeworICAgICAgICAgICAgdmFsaWRQ
cmltaXRpdmUgPSB0cnVlOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcGFyc2VkVmFs
dWUgPSBwYXJzZUNvbG9yKCk7CisgICAgICAgICAgICBpZiAocGFyc2VkVmFsdWUpCisgICAgICAg
ICAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsK
ICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VG91Y2hDYWxsb3V0OgogICAgICAgICBpZiAoaWQg
PT0gQ1NTVmFsdWVEZWZhdWx0IHx8IGlkID09IENTU1ZhbHVlTm9uZSkKICAgICAgICAgICAgIHZh
bGlkUHJpbWl0aXZlID0gdHJ1ZTsKQEAgLTEyNjk5LDcgKzEyNzIzLDggQEAgc3RhdGljIENTU1Zh
bHVlSUQgY3NzVmFsdWVLZXl3b3JkSUQoY29uc3QgQ2hhcmFjdGVyVHlwZSogdmFsdWVLZXl3b3Jk
LCB1bnNpZ25lZAogICAgIGlmIChidWZmZXJbMF0gPT0gJy0nKSB7CiAgICAgICAgIC8vIElmIHRo
ZSBwcmVmaXggaXMgLWFwcGxlLSBvciAta2h0bWwtLCBjaGFuZ2UgaXQgdG8gLXdlYmtpdC0uCiAg
ICAgICAgIC8vIFRoaXMgbWFrZXMgdGhlIHN0cmluZyBvbmUgY2hhcmFjdGVyIGxvbmdlci4KLSAg
ICAgICAgaWYgKGhhc1ByZWZpeChidWZmZXIsIGxlbmd0aCwgIi1hcHBsZS0iKSB8fCBoYXNQcmVm
aXgoYnVmZmVyLCBsZW5ndGgsICIta2h0bWwtIikpIHsKKyAgICAgICAgLy8gT24gaU9TIHdlIGRv
bid0IHdhbnQgdG8gY2hhbmdlIHZhbHVlcyBzdGFydGluZyB3aXRoIC1hcHBsZS1zeXN0ZW0gdG8g
LXdlYmtpdC1zeXN0ZW0uCisgICAgICAgIGlmICgoaGFzUHJlZml4KGJ1ZmZlciwgbGVuZ3RoLCAi
LWFwcGxlLSIpICYmICFoYXNQcmVmaXgoYnVmZmVyLCBsZW5ndGgsICItYXBwbGUtc3lzdGVtIikp
IHx8IGhhc1ByZWZpeChidWZmZXIsIGxlbmd0aCwgIi1raHRtbC0iKSkgewogICAgICAgICAgICAg
bWVtbW92ZShidWZmZXIgKyA3LCBidWZmZXIgKyA2LCBsZW5ndGggKyAxIC0gNik7CiAgICAgICAg
ICAgICBtZW1jcHkoYnVmZmVyLCAiLXdlYmtpdCIsIDcpOwogICAgICAgICAgICAgKytsZW5ndGg7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IGQ4MTcxZGMxYjEyNjI0
YmIxNDJhZWRlZTc3YTBmNjVhY2YxZDZkMTYuLjNlN2EwZTAyM2RhZTkzMDFlZjc4OThjN2RiMDM3
N2I5MGEzMWNiOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5h
bWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC00
NjUsNCArNDY1LDggQEAgdXNlci16b29tCiAjZW5kaWYKICNpZiBkZWZpbmVkKFdURl9QTEFURk9S
TV9JT1MpICYmIFdURl9QTEFURk9STV9JT1MKIC13ZWJraXQtdG91Y2gtY2FsbG91dCBbSW5oZXJp
dGVkXQorCisvLyBGSVhNRTogVGhpcyBwcm9wZXJ0eSBzaG91bGRuJ3QgYmUgaU9TLXNwZWNpZmlj
LiBPbmNlIHdlIGZpeCB1cCBpdHMgdXNhZ2UgaW4gSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3Np
dGlvbkJhY2tncm91bmQoKQorLy8gd2Ugc2hvdWxkIG1vdmUgaXQgb3V0c2lkZSB0aGUgV1RGX1BM
QVRGT1JNX0lPUy1ndWFyZC4KKy13ZWJraXQtY29tcG9zaXRpb24tZmlsbC1jb2xvciBbSW5oZXJp
dGVkXQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3
b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDRk
ZmFkNGM2MDJjZmNjZTg2MjY5NWY1Yzg0MjRlNmFjM2U4NzhmYTcuLmNiM2UyN2JjNjFlZjcyNGIy
OTVhNjA2NTQxM2YzMGEwYzgzMjhiNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdv
cmRzLmluCkBAIC0zMSw2ICszMSwyMyBAQCBzbWFsbC1jYXB0aW9uCiAtd2Via2l0LW1pbmktY29u
dHJvbAogLXdlYmtpdC1zbWFsbC1jb250cm9sCiAtd2Via2l0LWNvbnRyb2wKKworI2lmIGRlZmlu
ZWQoV1RGX1BMQVRGT1JNX0lPUykgJiYgV1RGX1BMQVRGT1JNX0lPUworLWFwcGxlLXN5c3RlbS1o
ZWFkbGluZQorLWFwcGxlLXN5c3RlbS1ib2R5CistYXBwbGUtc3lzdGVtLXN1YmhlYWRsaW5lCist
YXBwbGUtc3lzdGVtLWZvb3Rub3RlCistYXBwbGUtc3lzdGVtLWNhcHRpb24xCistYXBwbGUtc3lz
dGVtLWNhcHRpb24yCistYXBwbGUtc3lzdGVtLXNob3J0LWhlYWRsaW5lCistYXBwbGUtc3lzdGVt
LXNob3J0LWJvZHkKKy1hcHBsZS1zeXN0ZW0tc2hvcnQtc3ViaGVhZGxpbmUKKy1hcHBsZS1zeXN0
ZW0tc2hvcnQtZm9vdG5vdGUKKy1hcHBsZS1zeXN0ZW0tc2hvcnQtY2FwdGlvbjEKKy1hcHBsZS1z
eXN0ZW0tdGFsbC1ib2R5CisjZW5kaWYKKworLy8gVGhpcyBoYXMgdG8gZ28gYWZ0ZXIgdGhlIC1h
cHBsZS1zeXN0ZW0gdmVyc2lvbnMuCiBzdGF0dXMtYmFyCiAKIC8vCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAKaW5kZXggZTFjZGRmNjIyMDdiMTczYWY5
YWQ1MmY4YzU0NjY1YmYzMzQyOTk1Ny4uNDZiNWU4YmNmYzVmNGJjM2FjZDI2MzA2N2IxZDU1YzUw
MGQ2MjQ4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1
aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5bGVCdWlsZGVy
LmNwcApAQCAtMjI4Nyw3ICsyMjg3LDE1IEBAIERlcHJlY2F0ZWRTdHlsZUJ1aWxkZXI6OkRlcHJl
Y2F0ZWRTdHlsZUJ1aWxkZXIoKQogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUlt
YWdlUmVzb2x1dGlvbiwgQXBwbHlQcm9wZXJ0eUltYWdlUmVzb2x1dGlvbjo6Y3JlYXRlSGFuZGxl
cigpKTsKICNlbmRpZgogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUxlZnQsIEFw
cGx5UHJvcGVydHlMZW5ndGg8JlJlbmRlclN0eWxlOjpsZWZ0LCAmUmVuZGVyU3R5bGU6OnNldExl
ZnQsICZSZW5kZXJTdHlsZTo6aW5pdGlhbE9mZnNldCwgQXV0b0VuYWJsZWQ+OjpjcmVhdGVIYW5k
bGVyKCkpOworCisgICAgLy8gRklYTUU6IFdlIHNob3VsZCByZWNvbmNpbGUgdGhlIGRpZmZlcmVu
Y2UgaW4gZGF0YXR5cGUgYmV0d2VlbiBpT1MgYW5kIE9wZW5Tb3VyY2UuIE9uIGlPUyB3ZSB3YW50
IGxldHRlciBzcGFjaW5nIHRvCisgICAgLy8gYmUgZmxvYXQgZm9yIHN1Yi1waXhlbCBrZXJuaW5n
LiBTZWUgPHJkYXI6Ly9wcm9ibGVtLzUwMjA3NjM+LgorI2lmICFQTEFURk9STShJT1MpCiAgICAg
c2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5TGV0dGVyU3BhY2luZywgQXBwbHlQcm9wZXJ0
eUNvbXB1dGVMZW5ndGg8aW50LCAmUmVuZGVyU3R5bGU6OmxldHRlclNwYWNpbmcsICZSZW5kZXJT
dHlsZTo6c2V0TGV0dGVyU3BhY2luZywgJlJlbmRlclN0eWxlOjppbml0aWFsTGV0dGVyV29yZFNw
YWNpbmcsIE5vcm1hbEVuYWJsZWQsIFRoaWNrbmVzc0Rpc2FibGVkLCBTVkdab29tRW5hYmxlZD46
OmNyZWF0ZUhhbmRsZXIoKSk7CisjZWxzZQorICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9w
ZXJ0eUxldHRlclNwYWNpbmcsIEFwcGx5UHJvcGVydHlDb21wdXRlTGVuZ3RoPGZsb2F0LCAmUmVu
ZGVyU3R5bGU6OmxldHRlclNwYWNpbmcsICZSZW5kZXJTdHlsZTo6c2V0TGV0dGVyU3BhY2luZywg
JlJlbmRlclN0eWxlOjppbml0aWFsTGV0dGVyV29yZFNwYWNpbmcsIE5vcm1hbEVuYWJsZWQsIFRo
aWNrbmVzc0Rpc2FibGVkLCBTVkdab29tRW5hYmxlZD46OmNyZWF0ZUhhbmRsZXIoKSk7CisjZW5k
aWYKKwogI2lmIEVOQUJMRShJT1NfVEVYVF9BVVRPU0laSU5HKQogICAgIHNldFByb3BlcnR5SGFu
ZGxlcihDU1NQcm9wZXJ0eUxpbmVIZWlnaHQsIEFwcGx5UHJvcGVydHlMaW5lSGVpZ2h0Rm9ySU9T
VGV4dEF1dG9zaXppbmc6OmNyZWF0ZUhhbmRsZXIoKSk7CiAjZWxzZQpAQCAtMjUwMyw3ICsyNTEx
LDE1IEBAIERlcHJlY2F0ZWRTdHlsZUJ1aWxkZXI6OkRlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIoKQog
ICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdpZG93cywgQXBwbHlQcm9wZXJ0eUF1
dG88c2hvcnQsICZSZW5kZXJTdHlsZTo6d2lkb3dzLCAmUmVuZGVyU3R5bGU6OnNldFdpZG93cywg
JlJlbmRlclN0eWxlOjpoYXNBdXRvV2lkb3dzLCAmUmVuZGVyU3R5bGU6OnNldEhhc0F1dG9XaWRv
d3M+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0
eVdpZHRoLCBBcHBseVByb3BlcnR5TGVuZ3RoPCZSZW5kZXJTdHlsZTo6d2lkdGgsICZSZW5kZXJT
dHlsZTo6c2V0V2lkdGgsICZSZW5kZXJTdHlsZTo6aW5pdGlhbFNpemUsIEF1dG9FbmFibGVkLCBM
ZWdhY3lJbnRyaW5zaWNFbmFibGVkLCBJbnRyaW5zaWNFbmFibGVkLCBOb25lRGlzYWJsZWQsIFVu
ZGVmaW5lZERpc2FibGVkPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRs
ZXIoQ1NTUHJvcGVydHlXb3JkQnJlYWssIEFwcGx5UHJvcGVydHlEZWZhdWx0PEVXb3JkQnJlYWss
ICZSZW5kZXJTdHlsZTo6d29yZEJyZWFrLCBFV29yZEJyZWFrLCAmUmVuZGVyU3R5bGU6OnNldFdv
cmRCcmVhaywgRVdvcmRCcmVhaywgJlJlbmRlclN0eWxlOjppbml0aWFsV29yZEJyZWFrPjo6Y3Jl
YXRlSGFuZGxlcigpKTsKKworICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcmVjb25jaWxlIHRoZSBk
aWZmZXJlbmNlIGluIGRhdGF0eXBlIGJldHdlZW4gaU9TIGFuZCBPcGVuU291cmNlLiBPbiBpT1Mg
d2Ugd2FudCB3b3JkIHNwYWNpbmcgdG8KKyAgICAvLyBiZSBmbG9hdCBmb3Igc3ViLXBpeGVsIGtl
cm5pbmcuIFNlZSA8cmRhcjovL3Byb2JsZW0vNTAyMDc2Mz4uCisjaWYgIVBMQVRGT1JNKElPUykK
ICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXb3JkU3BhY2luZywgQXBwbHlQcm9w
ZXJ0eUNvbXB1dGVMZW5ndGg8aW50LCAmUmVuZGVyU3R5bGU6OndvcmRTcGFjaW5nLCAmUmVuZGVy
U3R5bGU6OnNldFdvcmRTcGFjaW5nLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxMZXR0ZXJXb3JkU3Bh
Y2luZywgTm9ybWFsRW5hYmxlZCwgVGhpY2tuZXNzRGlzYWJsZWQsIFNWR1pvb21FbmFibGVkPjo6
Y3JlYXRlSGFuZGxlcigpKTsKKyNlbHNlCisgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3Bl
cnR5V29yZFNwYWNpbmcsIEFwcGx5UHJvcGVydHlDb21wdXRlTGVuZ3RoPGZsb2F0LCAmUmVuZGVy
U3R5bGU6OndvcmRTcGFjaW5nLCAmUmVuZGVyU3R5bGU6OnNldFdvcmRTcGFjaW5nLCAmUmVuZGVy
U3R5bGU6OmluaXRpYWxMZXR0ZXJXb3JkU3BhY2luZywgTm9ybWFsRW5hYmxlZCwgVGhpY2tuZXNz
RGlzYWJsZWQsIFNWR1pvb21FbmFibGVkPjo6Y3JlYXRlSGFuZGxlcigpKTsKKyNlbmRpZgorCiAg
ICAgLy8gVUFzIG11c3QgdHJlYXQgJ3dvcmQtd3JhcCcgYXMgYW4gYWx0ZXJuYXRlIG5hbWUgZm9y
IHRoZSAnb3ZlcmZsb3ctd3JhcCcgcHJvcGVydHkuIFNvIHVzaW5nIHRoZSBzYW1lIGhhbmRsZXJz
LgogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdvcmRXcmFwLCBBcHBseVByb3Bl
cnR5RGVmYXVsdDxFT3ZlcmZsb3dXcmFwLCAmUmVuZGVyU3R5bGU6Om92ZXJmbG93V3JhcCwgRU92
ZXJmbG93V3JhcCwgJlJlbmRlclN0eWxlOjpzZXRPdmVyZmxvd1dyYXAsIEVPdmVyZmxvd1dyYXAs
ICZSZW5kZXJTdHlsZTo6aW5pdGlhbE92ZXJmbG93V3JhcD46OmNyZWF0ZUhhbmRsZXIoKSk7CiAg
ICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5WkluZGV4LCBBcHBseVByb3BlcnR5QXV0
bzxpbnQsICZSZW5kZXJTdHlsZTo6ekluZGV4LCAmUmVuZGVyU3R5bGU6OnNldFpJbmRleCwgJlJl
bmRlclN0eWxlOjpoYXNBdXRvWkluZGV4LCAmUmVuZGVyU3R5bGU6OnNldEhhc0F1dG9aSW5kZXg+
OjpjcmVhdGVIYW5kbGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlh
RmVhdHVyZU5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFGZWF0dXJlTmFtZXMuaApp
bmRleCAyYjUxOTJlZDY5YWJmZWNlM2UxYzFiM2ZiNDkzMWY4M2ZkODQ3OTA2Li4xYzllZjAwOWFl
MWEyNWVlMGVhYTAxOWUyODZiZDI0OWM3ZDE3OGY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFGZWF0dXJlTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFG
ZWF0dXJlTmFtZXMuaApAQCAtNzMsNiArNzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
bWFjcm8odHJhbnNmb3JtXzNkLCAiLXdlYmtpdC10cmFuc2Zvcm0tM2QiKSBcCiAgICAgbWFjcm8o
dHJhbnNpdGlvbiwgIi13ZWJraXQtdHJhbnNpdGlvbiIpIFwKICAgICBtYWNybyhhbmltYXRpb24s
ICItd2Via2l0LWFuaW1hdGlvbiIpIFwKKyAgICBtYWNybyh2aWRlb19wbGF5YWJsZV9pbmxpbmUs
ICItd2Via2l0LXZpZGVvLXBsYXlhYmxlLWlubGluZSIpIFwKICAgICBDU1NfTUVESUFRVUVSWV9W
SUVXX01PREUobWFjcm8pCiAKIC8vIGVuZCBvZiBtYWNybwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlFdmFsdWF0b3IuY3BwCmluZGV4IGJiZTYwNTk4ZDg5MGFjY2ZlZTI0OTdiNzMzZDU2
ZGQ1Y2VmYzRhYzIuLjI0Y2RjNjZmMjYyOTFlMTQyOTE1ZWQxNGU3NTVjY2RhNWY2YTljYWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKQEAgLTU5LDYgKzU5
LDEwIEBACiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgiCiAjZW5kaWYKIAorI2lm
IFBMQVRGT1JNKElPUykKKyNpbmNsdWRlICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgiCisjZW5k
aWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgTWVkaWFGZWF0dXJl
TmFtZXM7CkBAIC02MjQsNiArNjI4LDIxIEBAIHN0YXRpYyBib29sIHZpZXdfbW9kZU1lZGlhRmVh
dHVyZUV2YWwoQ1NTVmFsdWUqIHZhbHVlLCBSZW5kZXJTdHlsZSosIEZyYW1lKiBmcmFtCiB9CiAj
ZW5kaWYgLy8gRU5BQkxFKFZJRVdfTU9ERV9DU1NfTUVESUEpCiAKK3N0YXRpYyBpbmxpbmUgYm9v
bCBpc1J1bm5pbmdPbklQaG9uZU9ySVBvZCgpCit7CisjaWYgUExBVEZPUk0oSU9TKQorICAgIHN0
YXRpYyB3a0RldmljZUNsYXNzIGRldmljZUNsYXNzID0gaW9zRGV2aWNlQ2xhc3MoKTsKKyAgICBy
ZXR1cm4gZGV2aWNlQ2xhc3MgPT0gd2tEZXZpY2VDbGFzc2lQaG9uZSB8fCBkZXZpY2VDbGFzcyA9
PSB3a0RldmljZUNsYXNzaVBvZDsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9
CisKK3N0YXRpYyBib29sIHZpZGVvX3BsYXlhYmxlX2lubGluZU1lZGlhRmVhdHVyZUV2YWwoQ1NT
VmFsdWUqLCBSZW5kZXJTdHlsZSosIEZyYW1lKiBmcmFtZSwgTWVkaWFGZWF0dXJlUHJlZml4KQor
eworICAgIHJldHVybiAhaXNSdW5uaW5nT25JUGhvbmVPcklQb2QoKSB8fCBmcmFtZS0+c2V0dGlu
Z3MoKS5tZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lKCk7Cit9CisKIGVudW0gUG9pbnRlckRldmlj
ZVR5cGUgeyBUb3VjaFBvaW50ZXIsIE1vdXNlUG9pbnRlciwgTm9Qb2ludGVyLCBVbmtub3duUG9p
bnRlciB9OwogCiBzdGF0aWMgUG9pbnRlckRldmljZVR5cGUgbGVhc3RDYXBhYmxlUHJpbWFyeVBv
aW50ZXJEZXZpY2VUeXBlKEZyYW1lKiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmNwcAppbmRleCAxYTgzMzQ3N2Q4ZDBiYjE3MDA5MGU0OTZlNjYxYmZmZTA0NmJiYzdhLi5jMzM2
ZDIxZTFlMTA1M2ZkNTdkNzBhOGRkZjY4Y2JiZjA2M2MyOWMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwCkBAIC03MTIsNyArNzEyLDcgQEAgYm9vbCBTdHlsZVJlc29sdmVyOjpj
YW5TaGFyZVN0eWxlV2l0aEVsZW1lbnQoU3R5bGVkRWxlbWVudCogZWxlbWVudCkgY29uc3QKIAog
I2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQogICAgIC8vIFdpdGggcHJveHlpbmcs
IHRoZSBtZWRpYSBlbGVtZW50cyBhcmUgYmFja2VkIGJ5IGEgUmVuZGVyRW1iZWRkZWRPYmplY3Qu
Ci0gICAgaWYgKChlbGVtZW50LT5oYXNUYWdOYW1lKHZpZGVvVGFnKSB8fCBlbGVtZW50LT5oYXNU
YWdOYW1lKGF1ZGlvVGFnKSkgJiYgdG9NZWRpYUVsZW1lbnQoZWxlbWVudCktPnNob3VsZFVzZVZp
ZGVvUGx1Z2luUHJveHkoKSkKKyAgICBpZiAoKGVsZW1lbnQtPmhhc1RhZ05hbWUodmlkZW9UYWcp
IHx8IGVsZW1lbnQtPmhhc1RhZ05hbWUoYXVkaW9UYWcpKSAmJiB0b0hUTUxNZWRpYUVsZW1lbnQo
ZWxlbWVudCktPnNob3VsZFVzZVZpZGVvUGx1Z2luUHJveHkoKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogI2VuZGlmCiAKQEAgLTI2MDksNiArMjYwOSwxNiBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6
OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQogICAgICAg
ICBzdGF0ZS5zdHlsZSgpLT5zZXRUb3VjaENhbGxvdXRFbmFibGVkKHByaW1pdGl2ZVZhbHVlLT5n
ZXRTdHJpbmdWYWx1ZSgpLmxvd2VyKCkgIT0gIm5vbmUiKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KKworICAgIC8vIEZJWE1FOiBDU1NQcm9wZXJ0eVdlYmtpdENvbXBvc2l0aW9uRmlsbENvbG9y
IHNob3VsZG4ndCBiZSBpT1Mtc3BlY2lmaWMuIE9uY2Ugd2UgZml4IHVwIGl0cyB1c2FnZSBpbgor
ICAgIC8vIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25CYWNrZ3JvdW5kKCkgd2Ugc2hv
dWxkIG1vdmUgaXQgb3V0c2lkZSB0aGUgUExBVEZPUk0oSU9TKS1ndWFyZC4KKyAgICBjYXNlIENT
U1Byb3BlcnR5V2Via2l0Q29tcG9zaXRpb25GaWxsQ29sb3I6IHsKKyAgICAgICAgSEFORExFX0lO
SEVSSVRfQU5EX0lOSVRJQUwoY29tcG9zaXRpb25GaWxsQ29sb3IsIENvbXBvc2l0aW9uRmlsbENv
bG9yKTsKKyAgICAgICAgaWYgKCFwcmltaXRpdmVWYWx1ZSkKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXRDb21wb3NpdGlvbkZpbGxDb2xvcihjb2xvckZyb21Q
cmltaXRpdmVWYWx1ZShwcmltaXRpdmVWYWx1ZSkpOworICAgICAgICByZXR1cm47CisgICAgfQog
I2VuZGlmCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAgICBjYXNlIENTU1Byb3BlcnR5V2Vi
a2l0VGFwSGlnaGxpZ2h0Q29sb3I6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9o
dG1sLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcwppbmRleCAzMWFiNWI2YTgyNzkw
MmU3YTZjZWNjMzUyODVhZTgxYjMwOTkzYTQyLi5mMmNiODFiZGFlYjNjOWM5MWRlNTljMTgxNzNi
ZTcyNzc3OGM2YzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCkBAIC0zOTksNyArMzk5LDkgQEAgaW5wdXQs
IHRleHRhcmVhLCBrZXlnZW4sIHNlbGVjdCwgYnV0dG9uLCBpc2luZGV4LCBtZXRlciwgcHJvZ3Jl
c3MgewogCiBpbnB1dCwgdGV4dGFyZWEsIGtleWdlbiwgc2VsZWN0LCBidXR0b24sIGlzaW5kZXgg
ewogICAgIG1hcmdpbjogMF9fcWVtOworI2lmICEoZGVmaW5lZChXVEZfUExBVEZPUk1fSU9TKSAm
JiBXVEZfUExBVEZPUk1fSU9TKQogICAgIGZvbnQ6IC13ZWJraXQtc21hbGwtY29udHJvbDsKKyNl
bmRpZgogICAgIGNvbG9yOiBpbml0aWFsOwogICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7CiAg
ICAgd29yZC1zcGFjaW5nOiBub3JtYWw7CkBAIC00MTksMTEgKzQyMSwyNSBAQCBpbnB1dFt0eXBl
PSJoaWRkZW4iXSB7CiAgICAgZGlzcGxheTogbm9uZQogfQogCi1pbnB1dCwgaW5wdXRbdHlwZT0i
cGFzc3dvcmQiXSwgaW5wdXRbdHlwZT0ic2VhcmNoIl0sIGlzaW5kZXggeworaW5wdXQsCitpbnB1
dFt0eXBlPSJwYXNzd29yZCJdLAoraW5wdXRbdHlwZT0ic2VhcmNoIl0sCisjaWYgZGVmaW5lZChX
VEZfUExBVEZPUk1fSU9TKSAmJiBXVEZfUExBVEZPUk1fSU9TCit0ZXh0YXJlYSwKK2lucHV0W3R5
cGU9InJhbmdlIl0sCisjZW5kaWYKK2lzaW5kZXggewogICAgIC13ZWJraXQtYXBwZWFyYW5jZTog
dGV4dGZpZWxkOwotICAgIHBhZGRpbmc6IDFweDsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0
ZTsKKyNpZiBkZWZpbmVkKFdURl9QTEFURk9STV9JT1MpICYmIFdURl9QTEFURk9STV9JT1MKKyAg
ICBib3JkZXItcmFkaXVzOiA1cHg7CisgICAgZm9udDogMTFweCBIZWx2ZXRpY2EsIC13ZWJraXQt
cGljdG9ncmFwaDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCAjNGM0YzRjOworICAgIHBhZGRpbmc6
IDAuMmVtIDAuNWVtIDAuM2VtIDAuNWVtOworI2Vsc2UKICAgICBib3JkZXI6IDJweCBpbnNldDsK
KyAgICBwYWRkaW5nOiAxcHg7CisjZW5kaWYKICAgICAtd2Via2l0LXJ0bC1vcmRlcmluZzogbG9n
aWNhbDsKICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiB0ZXh0OwogICAgIGN1cnNvcjogYXV0bzsK
QEAgLTQ5OSw3ICs1MTUsOSBAQCBpbnB1dFt0eXBlPSJkYXRlIl0gewogICAgIC13ZWJraXQtYXBw
ZWFyYW5jZTogbWVudWxpc3QtYnV0dG9uOwogICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZs
ZXg7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyNpZiAhKGRlZmluZWQoV1RGX1BMQVRGT1JNX0lP
UykgJiYgV1RGX1BMQVRGT1JNX0lPUykKICAgICB3aWR0aDogMTBlbTsKKyNlbmRpZgogfQogI2Vu
ZGlmCiAjaWYgZGVmaW5lZChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAm
JiBFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFCkBAIC01MDgsNyArNTI2LDkg
QEAgaW5wdXRbdHlwZT0iZGF0ZXRpbWUiXSB7CiAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZW51
bGlzdC1idXR0b247CiAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDsKICAgICBvdmVy
ZmxvdzogaGlkZGVuOworI2lmICEoZGVmaW5lZChXVEZfUExBVEZPUk1fSU9TKSAmJiBXVEZfUExB
VEZPUk1fSU9TKQogICAgIHdpZHRoOiAxMGVtOworI2VuZGlmCiB9CiAjZW5kaWYKICNpZiBkZWZp
bmVkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICYmIEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FTE9DQUwKQEAgLTUxNyw3ICs1MzcsOSBAQCBpbnB1dFt0eXBlPSJkYXRldGltZS1s
b2NhbCJdIHsKICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lbnVsaXN0LWJ1dHRvbjsKICAgICBk
aXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4OwogICAgIG92ZXJmbG93OiBoaWRkZW47CisjaWYg
IShkZWZpbmVkKFdURl9QTEFURk9STV9JT1MpICYmIFdURl9QTEFURk9STV9JT1MpCiAgICAgd2lk
dGg6IDEwZW07CisjZW5kaWYKIH0KICNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICYmIEVOQUJMRV9JTlBVVF9UWVBFX01PTlRICkBAIC01MjYsNyArNTQ4LDkgQEAg
aW5wdXRbdHlwZT0ibW9udGgiXSB7CiAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZW51bGlzdC1i
dXR0b247CiAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDsKICAgICBvdmVyZmxvdzog
aGlkZGVuOworI2lmICEoZGVmaW5lZChXVEZfUExBVEZPUk1fSU9TKSAmJiBXVEZfUExBVEZPUk1f
SU9TKQogICAgIHdpZHRoOiAxMGVtOworI2VuZGlmCiB9CiAjZW5kaWYKICNpZiBkZWZpbmVkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICYmIEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUKQEAgLTUzNSwx
MCArNTU5LDEzIEBAIGlucHV0W3R5cGU9InRpbWUiXSB7CiAgICAgLXdlYmtpdC1hcHBlYXJhbmNl
OiBtZW51bGlzdC1idXR0b247CiAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDsKICAg
ICBvdmVyZmxvdzogaGlkZGVuOworI2lmICEoZGVmaW5lZChXVEZfUExBVEZPUk1fSU9TKSAmJiBX
VEZfUExBVEZPUk1fSU9TKQogICAgIHdpZHRoOiAxMGVtOworI2VuZGlmCiB9CiAjZW5kaWYKICNp
ZiBkZWZpbmVkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICYmIEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUsKKyNpZiAhKGRlZmluZWQoV1RGX1BMQVRGT1JNX0lPUykgJiYgV1RGX1BMQVRGT1JNX0lPUykK
IGlucHV0W3R5cGU9IndlZWsiXSB7CiAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwog
ICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVudWxpc3QtYnV0dG9uOwpAQCAtNTQ3LDExICs1NzQs
MTQgQEAgaW5wdXRbdHlwZT0id2VlayJdIHsKICAgICB3aWR0aDogMTBlbTsKIH0KICNlbmRpZgor
I2VuZGlmCiAKKyNpZiAhKGRlZmluZWQoV1RGX1BMQVRGT1JNX0lPUykgJiYgV1RGX1BMQVRGT1JN
X0lPUykKIGlucHV0Ojotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUgewogICAgIG1hcmdpbjog
MXB4IDI0cHggMXB4IDRweDsKICAgICB3aGl0ZS1zcGFjZTogcHJlOwogfQorI2VuZGlmCiAKIGlu
cHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHsKICAgICAtd2Via2l0LWFwcGVhcmFuY2U6
IGlubmVyLXNwaW4tYnV0dG9uOwpAQCAtNTkwLDEwICs2MjAsMTUgQEAga2V5Z2VuOjotd2Via2l0
LWtleWdlbi1zZWxlY3QgewogCiB0ZXh0YXJlYSB7CiAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0
ZXh0YXJlYTsKKyNpZiAhKGRlZmluZWQoV1RGX1BMQVRGT1JNX0lPUykgJiYgV1RGX1BMQVRGT1JN
X0lPUykKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgICBib3JkZXI6IDFweCBzb2xp
ZDsKICAgICAtd2Via2l0LXJ0bC1vcmRlcmluZzogbG9naWNhbDsKICAgICAtd2Via2l0LXVzZXIt
c2VsZWN0OiB0ZXh0OworI2Vsc2UKKyAgICAtd2Via2l0LW5ic3AtbW9kZTogc3BhY2U7CisgICAg
LXdlYmtpdC1saW5lLWJyZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsKKyNlbmRpZgogICAgIC13ZWJr
aXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICByZXNpemU6IGF1dG87CiAgICAgY3Vyc29y
OiBhdXRvOwpAQCAtNjM0LDE2ICs2NjksMjUgQEAgaW5wdXRbdHlwZT0iZmlsZSJdIHsKIH0KIAog
aW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7CisjaWYgZGVmaW5lZChXVEZfUExBVEZPUk1fSU9TKSAm
JiBXVEZfUExBVEZPUk1fSU9TCisgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RUM4NyAhaW1wb3J0
YW50OworI2Vsc2UKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGRkJEICFpbXBvcnRhbnQ7Cisj
ZW5kaWYKICAgICBiYWNrZ3JvdW5kLWltYWdlOm5vbmUgIWltcG9ydGFudDsKICAgICBjb2xvcjog
IzAwMDAwMCAhaW1wb3J0YW50OwogfQogCiBpbnB1dFt0eXBlPSJyYWRpbyJdLCBpbnB1dFt0eXBl
PSJjaGVja2JveCJdIHsKICAgICBtYXJnaW46IDNweCAwLjVleDsKKyNpZiBkZWZpbmVkKFdURl9Q
TEFURk9STV9JT1MpICYmIFdURl9QTEFURk9STV9JT1MKKyAgICBib3JkZXI6IDFweCBzb2xpZCAj
NGM0YzRjOworICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CisjZWxzZQogICAgIHBhZGRpbmc6
IGluaXRpYWw7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDsKICAgICBib3JkZXI6IGlu
aXRpYWw7CisjZW5kaWYKIH0KIAogaW5wdXRbdHlwZT0iYnV0dG9uIl0sIGlucHV0W3R5cGU9InN1
Ym1pdCJdLCBpbnB1dFt0eXBlPSJyZXNldCJdIHsKQEAgLTY2NCw5ICs3MDgsMTcgQEAgaW5wdXRb
dHlwZT0iYnV0dG9uIl0sIGlucHV0W3R5cGU9InN1Ym1pdCJdLCBpbnB1dFt0eXBlPSJyZXNldCJd
LCBpbnB1dFt0eXBlPSJmaWwKICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgY3Vyc29yOiBk
ZWZhdWx0OwogICAgIGNvbG9yOiBCdXR0b25UZXh0OworI2lmICEoZGVmaW5lZChXVEZfUExBVEZP
Uk1fSU9TKSAmJiBXVEZfUExBVEZPUk1fSU9TKQogICAgIHBhZGRpbmc6IDJweCA2cHggM3B4IDZw
eDsKICAgICBib3JkZXI6IDJweCBvdXRzZXQgQnV0dG9uRmFjZTsKICAgICBiYWNrZ3JvdW5kLWNv
bG9yOiBCdXR0b25GYWNlOworI2Vsc2UKKyAgICBwYWRkaW5nOiAwIDEuMGVtOworICAgIGJvcmRl
cjogMXB4IHNvbGlkICM0YzRjNGM7CisgICAgLyogV2Ugd2FudCB0byBiZSBhcyBjbG9zZSB0byBi
YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50IGFzIHBvc3NpYmxlIHdpdGhvdXQgYWN0dWFsbHkg
YmVpbmcgdHJhbnNwYXJlbnQuICovCisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1
NSwgMjU1LCAwLjAxKTsKKyAgICBmb250OiAxMXB4IEhlbHZldGljYTsKKyNlbmRpZgogICAgIGJv
eC1zaXppbmc6IGJvcmRlci1ib3gKIH0KIApAQCAtNzAwLDggKzc1MiwzMSBAQCBpbnB1dFt0eXBl
PSJyYW5nZSJdOjotd2Via2l0LXNsaWRlci10aHVtYiwgaW5wdXRbdHlwZT0icmFuZ2UiXTo6LXdl
YmtpdC1tZWRpYS1zbAogICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgLXdlYmtpdC11
c2VyLW1vZGlmeTogcmVhZC1vbmx5ICFpbXBvcnRhbnQ7CiAgICAgZGlzcGxheTogYmxvY2s7Cisj
aWYgZGVmaW5lZChXVEZfUExBVEZPUk1fSU9TKSAmJiBXVEZfUExBVEZPUk1fSU9TCisgICAgYmFj
a2dyb3VuZC1jb2xvcjogd2hpdGU7CisgICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDY2LCA2Niwg
NjYpOworICAgIHBhZGRpbmc6IDBweDsKKyNlbmRpZgogfQogCisjaWYgZGVmaW5lZChXVEZfUExB
VEZPUk1fSU9TKSAmJiBXVEZfUExBVEZPUk1fSU9TCitpbnB1dFt0eXBlPSJyYW5nZSJdOjotd2Vi
a2l0LXNsaWRlci10aHVtYjphY3RpdmUgeworICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOwor
fQorCitpbnB1dDpkaXNhYmxlZCwgdGV4dGFyZWE6ZGlzYWJsZWQgeworICAgIG9wYWNpdHk6IDAu
NDsKK30KKworaW5wdXRbcmVhZG9ubHldLCB0ZXh0YXJlYVtyZWFkb25seV0geworICAgIGJvcmRl
ci1jb2xvcjogcmdiKDE4OCwgMTg4LCAxODgpOworfQorCit0ZXh0YXJlYTo6LXdlYmtpdC1pbnB1
dC1wbGFjZWhvbGRlciB7CisgICAgdGV4dC1pbmRlbnQ6IDJweDsKK30KKyNlbmRpZgorCiBpbnB1
dFt0eXBlPSJidXR0b24iXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT0ic3VibWl0Il06ZGlzYWJsZWQs
IGlucHV0W3R5cGU9InJlc2V0Il06ZGlzYWJsZWQsCiBpbnB1dFt0eXBlPSJmaWxlIl06ZGlzYWJs
ZWQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uLCBidXR0b246ZGlzYWJsZWQsCiBzZWxlY3Q6
ZGlzYWJsZWQsIGtleWdlbjpkaXNhYmxlZCwgb3B0Z3JvdXA6ZGlzYWJsZWQsIG9wdGlvbjpkaXNh
YmxlZCwKQEAgLTcwOSw2ICs3ODQsNyBAQCBzZWxlY3RbZGlzYWJsZWRdPm9wdGlvbiB7CiAgICAg
Y29sb3I6IEdyYXlUZXh0CiB9CiAKKyNpZiAhKGRlZmluZWQoV1RGX1BMQVRGT1JNX0lPUykgJiYg
V1RGX1BMQVRGT1JNX0lPUykKIGlucHV0W3R5cGU9ImJ1dHRvbiJdOmFjdGl2ZSwgaW5wdXRbdHlw
ZT0ic3VibWl0Il06YWN0aXZlLCBpbnB1dFt0eXBlPSJyZXNldCJdOmFjdGl2ZSwgaW5wdXRbdHlw
ZT0iZmlsZSJdOmFjdGl2ZTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24sIGJ1dHRvbjphY3Rp
dmUgewogICAgIGJvcmRlci1zdHlsZTogaW5zZXQKIH0KQEAgLTcxNiw2ICs3OTIsNyBAQCBpbnB1
dFt0eXBlPSJidXR0b24iXTphY3RpdmUsIGlucHV0W3R5cGU9InN1Ym1pdCJdOmFjdGl2ZSwgaW5w
dXRbdHlwZT0icmVzZXQiXTphYwogaW5wdXRbdHlwZT0iYnV0dG9uIl06YWN0aXZlOmRpc2FibGVk
LCBpbnB1dFt0eXBlPSJzdWJtaXQiXTphY3RpdmU6ZGlzYWJsZWQsIGlucHV0W3R5cGU9InJlc2V0
Il06YWN0aXZlOmRpc2FibGVkLCBpbnB1dFt0eXBlPSJmaWxlIl06YWN0aXZlOmRpc2FibGVkOjot
d2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiwgYnV0dG9uOmFjdGl2ZTpkaXNhYmxlZCB7CiAgICAg
Ym9yZGVyLXN0eWxlOiBvdXRzZXQKIH0KKyNlbmRpZgogCiBhcmVhLCBwYXJhbSB7CiAgICAgZGlz
cGxheTogbm9uZQpAQCAtNzIzLDEzICs4MDAsNTIgQEAgYXJlYSwgcGFyYW0gewogCiBpbnB1dFt0
eXBlPSJjaGVja2JveCJdIHsKICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGNoZWNrYm94OworI2lm
ICEoZGVmaW5lZChXVEZfUExBVEZPUk1fSU9TKSAmJiBXVEZfUExBVEZPUk1fSU9TKQogICAgIGJv
eC1zaXppbmc6IGJvcmRlci1ib3g7CisjZWxzZQorICAgIGJvcmRlci1yYWRpdXM6IDVweDsKKyAg
ICB3aWR0aDogMTZweDsKKyAgICBoZWlnaHQ6IDE2cHg7CisgICAgcGFkZGluZzogMHB4OworICAg
IC8qIFdlIHdhbnQgdG8gYmUgYXMgY2xvc2UgdG8gYmFja2dyb3VuZDp0cmFuc3BhcmVudCBhcyBw
b3NzaWJsZSB3aXRob3V0IGFjdHVhbGx5IGJlaW5nIHRyYW5zcGFyZW50ICovCisgICAgYmFja2dy
b3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxKTsKKyNlbmRpZgogfQogCisjaWYg
ZGVmaW5lZChXVEZfUExBVEZPUk1fSU9TKSAmJiBXVEZfUExBVEZPUk1fSU9TCitpbnB1dFt0eXBl
PSJyYWRpbyJdIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHJhZGlvOworICAgIGJvcmRlci1y
YWRpdXM6IDhweDsKKyAgICB3aWR0aDogMTZweDsKKyAgICBoZWlnaHQ6IDE2cHg7CisgICAgcGFk
ZGluZzogMHB4OworICAgIC8qIFdlIHdhbnQgdG8gYmUgYXMgY2xvc2UgdG8gYmFja2dyb3VuZDp0
cmFuc3BhcmVudCBhcyBwb3NzaWJsZSB3aXRob3V0IGFjdHVhbGx5IGJlaW5nIHRyYW5zcGFyZW50
ICovCisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxKTsKK30K
KworaW5wdXRbdHlwZT0iY2hlY2tib3giXTpjaGVja2VkLCBpbnB1dFt0eXBlPSJyYWRpbyJdOmNo
ZWNrZWQgeworICAgIGJhY2tncm91bmQ6cmdiYSgwLCAwLCAwLCAwLjgpOworICAgIGJvcmRlci1j
b2xvcjpyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMCk7Cit9CisKK2lucHV0W3R5cGU9ImNoZWNrYm94
Il06Y2hlY2tlZDpkaXNhYmxlZCwgaW5wdXRbdHlwZT0icmFkaW8iXTpjaGVja2VkOmRpc2FibGVk
IHsKKyAgICBvcGFjaXR5OjAuNDsKKyAgICBiYWNrZ3JvdW5kOnJnYmEoMCwgMCwgMCwgMC44KTsK
K30KKyNlbmRpZgorCisjaWYgIShkZWZpbmVkKFdURl9QTEFURk9STV9JT1MpICYmIFdURl9QTEFU
Rk9STV9JT1MpCiBpbnB1dFt0eXBlPSJyYWRpbyJdIHsKICAgICAtd2Via2l0LWFwcGVhcmFuY2U6
IHJhZGlvOwogICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiB9CisjZW5kaWYKKworI2lmIGRl
ZmluZWQoV1RGX1BMQVRGT1JNX0lPUykgJiYgV1RGX1BMQVRGT1JNX0lPUworc2VsZWN0OmZvY3Vz
IHsKKyAgICBib3JkZXItY29sb3I6IHJnYigxNywgNDYsIDEzNSk7Cit9CisjZW5kaWYKIAogI2lm
IGRlZmluZWQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICYmIEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SCiAKQEAgLTc3NywxNyArODkzLDMwIEBAIGlucHV0W3R5cGU9ImNvbG9yIl1bbGlzdF06Oi13
ZWJraXQtY29sb3Itc3dhdGNoIHsKICNlbmRpZiAvLyBkZWZpbmVkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAmJiBFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUgogCiBzZWxlY3QgewotICAgIC13ZWJr
aXQtYXBwZWFyYW5jZTogbWVudWxpc3Q7CiAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKLSAg
ICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CisjaWYgZGVmaW5lZChXVEZfUExBVEZPUk1f
SU9TKSAmJiBXVEZfUExBVEZPUk1fSU9TCisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZW51bGlz
dC1idXR0b247CisgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsKKyAgICB3b3JkLXNwYWNpbmc6
IG5vcm1hbDsKKyAgICBsaW5lLWhlaWdodDogbm9ybWFsOworICAgIGJvcmRlcjogMXB4IHNvbGlk
ICM0YzRjNGM7CisgICAgLyogV2Ugd2FudCB0byBiZSBhcyBjbG9zZSB0byBiYWNrZ3JvdW5kOnRy
YW5zcGFyZW50IGFzIHBvc3NpYmxlIHdpdGhvdXQgYWN0dWFsbHkgYmVpbmcgdHJhbnNwYXJlbnQg
Ki8KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDEpOworICAg
IGZvbnQ6IDExcHggSGVsdmV0aWNhOworICAgIHBhZGRpbmc6IDAgMC41ZW0gMCAwLjVlbTsKKyNl
bHNlCisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZW51bGlzdDsKICAgICBib3JkZXI6IDFweCBz
b2xpZDsKLSAgICB3aGl0ZS1zcGFjZTogcHJlOwotICAgIC13ZWJraXQtcnRsLW9yZGVyaW5nOiBs
b2dpY2FsOwogICAgIGNvbG9yOiBibGFjazsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsK
KyNlbmRpZgorICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKKyAgICB3aGl0ZS1zcGFj
ZTogcHJlOworICAgIC13ZWJraXQtcnRsLW9yZGVyaW5nOiBsb2dpY2FsOwogICAgIGN1cnNvcjog
ZGVmYXVsdDsKIH0KIAorI2lmICEoZGVmaW5lZChXVEZfUExBVEZPUk1fSU9TKSAmJiBXVEZfUExB
VEZPUk1fSU9TKQogc2VsZWN0W3NpemVdLAogc2VsZWN0W211bHRpcGxlXSwKIHNlbGVjdFtzaXpl
XVttdWx0aXBsZV0gewpAQCAtODA2LDYgKzkzNSw3IEBAIHNlbGVjdFtzaXplPSIxIl0gewogICAg
IGJvcmRlci1yYWRpdXM6IDVweDsKICAgICB3aGl0ZS1zcGFjZTogcHJlOwogfQorI2VuZGlmCiAK
IG9wdGdyb3VwIHsKICAgICBmb250LXdlaWdodDogYm9sZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL21hdGhtbC5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWF0aG1sLmNzcwpp
bmRleCA2NDY5ZGI5Y2Q1OTBmZDk0ZjJjZDUyM2U5YjhiMzExMjk1MWFkNGUxLi4wOGJkYmI3NjQx
YjZlNWJjMDc4NzRjY2NiNDE4OWM1ZDdkMzczMDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvbWF0aG1sLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWF0aG1sLmNzcwpAQCAt
MTEsMTEgKzExLDIxIEBAIG10ZXh0IHsKIAogLyogS2VlcCBmb250LWZhbWlseSBhbmQgb3RoZXIg
ZGVmYXVsdHMgaGVyZSBjb25zaXN0ZW50IHdpdGggaHR0cDovL214ci5tb3ppbGxhLm9yZy9tb3pp
bGxhLWNlbnRyYWwvc291cmNlL2xheW91dC9tYXRobWwvbWF0aG1sLmNzcyBhbmQgZmVlZGJhY2sg
ZnJvbSB3d3ctbWF0aC4gKi8KIG1hdGgsIG1mZW5jZWQgPiAqIHsKKyNpZiBkZWZpbmVkKFdURl9Q
TEFURk9STV9JT1MpICYmIFdURl9QTEFURk9STV9JT1MKKyAgICAvKiBXZSBleHBsaWNpdGx5IGlu
Y2x1ZGUgdGhlIGZvbnQgU3ltYm9sIGFzIGl0J3MgdGhlIGlPUyBlcXVpdmFsZW50IG9mIGZvbnQg
U1RJWEdlbmVyYWwuICovCisgICAgZm9udC1mYW1pbHk6IFNUSVhHZW5lcmFsLCBTeW1ib2wsICJU
aW1lcyBOZXcgUm9tYW4iLCBzYW5zLXNlcmlmOworI2Vsc2UKICAgICBmb250LWZhbWlseTogTWF0
aEpheF9NYWluLCBTVElYR2VuZXJhbCwgIkRlamFWdSBTZXJpZiIsIENhbWJyaWEsICJDYW1icmlh
IE1hdGgiLCBUaW1lcywgc2VyaWY7CisjZW5kaWYKIH0KIG1vLCBtZmVuY2VkIHsKKyNpZiBkZWZp
bmVkKFdURl9QTEFURk9STV9JT1MpICYmIFdURl9QTEFURk9STV9JT1MKKyAgICAvKiBXZSBleHBs
aWNpdGx5IGluY2x1ZGUgdGhlIGZvbnQgU3ltYm9sIGFzIGl0J3MgdGhlIGlPUyBlcXVpdmFsZW50
IG9mIGZvbnQgU1RJWEdlbmVyYWwuICovCisgICAgZm9udC1mYW1pbHk6IFNUSVhHZW5lcmFsLCBT
eW1ib2wsICJUaW1lcyBOZXcgUm9tYW4iLCBzYW5zLXNlcmlmOworI2Vsc2UKICAgICBmb250LWZh
bWlseTogTWF0aEpheF9NYWluLCBTVElYR2VuZXJhbCwgU1RJWFNpemVPbmVTeW0sICJEZWphVnUg
U2FucyIsICJEZWphVnUgU2VyaWYiLCBDYW1icmlhLCAiQ2FtYnJpYSBNYXRoIiwKICAgICAgICAg
Ikx1Y2lkYSBTYW5zIFVuaWNvZGUiLCAiQXJpYWwgVW5pY29kZSBNUyIsICJMdWNpZGEgR3JhbmRl
IiwgT3BlblN5bWJvbCwgIlN0YW5kYXJkIFN5bWJvbHMgTCIsIHNhbnMtc2VyaWY7CisjZW5kaWYK
IH0KIAogbWF0aCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWVkaWFDb250cm9s
c2lPUy5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWVkaWFDb250cm9sc2lPUy5jc3MKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDU1ZjQ0ZDU5N2Q4NDY3MzVjOWUyYmExMWNjZjNkNDI5YjQzOWRjZgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzaU9TLmNzcwpAQCAtMCww
ICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCisvKiBhbHRlcm5hdGUgbWVkaWEgY29udHJvbHMgLSBFeHRlbmQgbWVkaWFDb250cm9s
cy5jc3MgKi8KKwordmlkZW86Oi13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1jb250YWluZXIgewor
ICAgIG1hcmdpbi1ib3R0b206IDQ3cHg7Cit9CisKK2F1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRy
b2xzLXBhbmVsLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wYW5lbCB7CisgICAgZGlz
cGxheTogbm9uZTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9zdmcuY3NzIGIv
U291cmNlL1dlYkNvcmUvY3NzL3N2Zy5jc3MKaW5kZXggMzk3NWFiNDI4NzIzZjQ4MGNjMjdiODg0
OTg5M2JlODU2Yzk3ZTI0Ni4uYTgxNDIwNTEwM2MzMDc3NzJkNDY2ZWQyZDRkNmE4ZmQ3YmQ4MTQ4
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3N2Zy5jc3MKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL3N2Zy5jc3MKQEAgLTU1LDYgKzU1LDEyIEBAIHRleHQsIHRzcGFuLCB0ZXh0UGF0
aCB7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwCiB9CiAKKyNpZiBkZWZpbmVkKFdURl9QTEFURk9S
TV9JT1MpICYmIFdURl9QTEFURk9STV9JT1MKK3RleHQsIHRzcGFuLCB0cmVmIHsKKyAgIC13ZWJr
aXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsKK30KKyNlbmRpZgorCiAvKiBzdGF0ZXMgKi8KIAog
OmZvY3VzIHsK
</data>
<flag name="review"
          id="243679"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>