<?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>90561</bug_id>
          
          <creation_ts>2012-07-04 09:05:20 -0700</creation_ts>
          <short_desc>Text Autosizing: Add test framework and simple test.</short_desc>
          <delta_ts>2012-07-05 08:38:32 -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>Text</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>
          
          <blocked>84186</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="John Mellor">johnme</reporter>
          <assigned_to name="John Mellor">johnme</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>kenneth</cc>
    
    <cc>peter</cc>
    
    <cc>rakuco</cc>
    
    <cc>satish</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>663002</commentid>
    <comment_count>0</comment_count>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-07-04 09:05:20 -0700</bug_when>
    <thetext>Text Autosizing: Add test framework and simple test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663019</commentid>
    <comment_count>1</comment_count>
      <attachid>150815</attachid>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-07-04 09:26:11 -0700</bug_when>
    <thetext>Created attachment 150815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663021</commentid>
    <comment_count>2</comment_count>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-07-04 09:27:54 -0700</bug_when>
    <thetext>Please check that I&apos;ve gotten the TestExpectations and Skipped files right - I think this is right but I may have gotten confused about the dependencies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663026</commentid>
    <comment_count>3</comment_count>
      <attachid>150815</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-07-04 09:32:30 -0700</bug_when>
    <thetext>Comment on attachment 150815
Patch

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

&gt; Source/WebCore/page/Settings.cpp:143
&gt; +#if HACK_FORCE_TEXT_AUTOSIZING_ON_DESKTOP
&gt; +    , m_textAutosizingWindowSizeOverride(320, 480)

It&apos;s unclear to me why the hack is needed.  I&apos;m not sure what the best practice for turning on mobile-only flags are in Chromium, but presumably about: flags could work.  And then once its on, a &lt;viewport&gt; element would let you test it on your desktop w/o needing this compile time hack, no?

&gt; Source/WebCore/page/Settings.cpp:423
&gt; +void Settings::setTextAutosizingWindowSizeOverride(IntSize textAutosizingWindowSizeOverride)

I think we normally pass IntSize by const reference &quot;const IntSize&amp;&quot;, but I&apos;m not sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663039</commentid>
    <comment_count>4</comment_count>
      <attachid>150815</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-07-04 09:45:18 -0700</bug_when>
    <thetext>Comment on attachment 150815
Patch

LGTM.  Consider changing the const ref.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663179</commentid>
    <comment_count>5</comment_count>
      <attachid>150847</attachid>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-07-04 14:57:47 -0700</bug_when>
    <thetext>Created attachment 150847
Patch

Passes IntSize by const reference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663235</commentid>
    <comment_count>6</comment_count>
      <attachid>150847</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-07-04 19:32:04 -0700</bug_when>
    <thetext>Comment on attachment 150847
Patch

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

&gt; Source/WebCore/page/Settings.cpp:144
&gt; +#if HACK_FORCE_TEXT_AUTOSIZING_ON_DESKTOP
&gt; +    , m_textAutosizingWindowSizeOverride(320, 480)
&gt;      , m_textAutosizingEnabled(true)

Is this needed as part of this patch if you call setTextAutosizingWindowSizeOverride anyway?

&gt; Source/WebCore/rendering/TextAutosizer.cpp:-54
&gt; -#ifdef HACK_FORCE_TEXT_AUTOSIZING_ON_DESKTOP
&gt; -    IntSize windowSize(320, 480);
&gt; -#else

Ah it is because you had the code here before. Fine then</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663236</commentid>
    <comment_count>7</comment_count>
      <attachid>150847</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-04 19:34:32 -0700</bug_when>
    <thetext>Comment on attachment 150847
Patch

Rejecting attachment 150847 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
form/qt/TestExpectations
Hunk #1 FAILED at 101.
1 out of 1 hunk FAILED -- saving rejects to file LayoutTests/platform/qt/TestExpectations.rej
patching file LayoutTests/platform/win/Skipped
Hunk #1 succeeded at 1286 (offset -10 lines).
patching file LayoutTests/platform/wincairo/Skipped
patching file LayoutTests/platform/wk2/Skipped

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Kenneth Ro...&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/13138823</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663434</commentid>
    <comment_count>8</comment_count>
      <attachid>150910</attachid>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-07-05 03:04:24 -0700</bug_when>
    <thetext>Created attachment 150910
Patch

Rebased TestExpectations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663549</commentid>
    <comment_count>9</comment_count>
      <attachid>150910</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-05 07:29:28 -0700</bug_when>
    <thetext>Comment on attachment 150910
Patch

Forwarding kenneth&apos;s R+.

@johnme: In the future, if you&apos;re just resolving merge conflicts, you can fill out the reviewer field in the ChangeLog.  I think webkit-patch land-safely will do that for you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663580</commentid>
    <comment_count>10</comment_count>
      <attachid>150910</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-05 08:38:27 -0700</bug_when>
    <thetext>Comment on attachment 150910
Patch

Clearing flags on attachment: 150910

Committed r121907: &lt;http://trac.webkit.org/changeset/121907&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663581</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-05 08:38:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150815</attachid>
            <date>2012-07-04 09:26:11 -0700</date>
            <delta_ts>2012-07-04 14:57:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90561-20120704172609.patch</filename>
            <type>text/plain</type>
            <size>21009</size>
            <attacher name="John Mellor">johnme</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU5MDI4NmJhNWE5N2Qz
ZGY3Y2YyZmNmNGRlZjAxMGI5YmIwZjFmZS4uNWYyYTU1ZGFmNGVlMmE0ZjM5N2NiODJlOTk1Njgy
NzUwZGJlMDFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA3LTA0ICBKb2hu
IE1lbGxvciAgPGpvaG5tZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dCBBdXRvc2l6aW5n
OiBBZGQgdGVzdCBmcmFtZXdvcmsgYW5kIHNpbXBsZSB0ZXN0LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA1NjEKKworICAgICAgICBFeHBvc2VzIG1l
dGhvZHMgYWxsb3dpbmcgTGF5b3V0IFRlc3RzIHRvIGVuYWJsZSBUZXh0IEF1dG9zaXppbmcgYW5k
CisgICAgICAgIGdldCB0aGUgc2FtZSByZXN1bHRzIGFzIGlmIHRoZXkgd2VyZSBydW5uaW5nIG9u
IGEgbW9iaWxlIGRldmljZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0OiBmYXN0L3RleHQtYXV0b3NpemluZy9zaW1wbGUtcGFyYWdyYXBoLmh0
bWwKKworICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0
dGluZ3M6OlNldHRpbmdzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
U2V0dGluZ3M6OnNldFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlKToKKyAgICAgICAg
KiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgIChTZXR0aW5ncyk6CisgICAgICAgIChXZWJDb3Jl
OjpTZXR0aW5nczo6dGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUpOgorICAgICAgICAq
IHJlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRBdXRv
c2l6ZXI6OmJvb3N0U3VidHJlZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OkludGVybmFsU2V0dGlu
Z3MpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6cmVzdG9yZVRvKToKKyAg
ICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFRleHRBdXRvc2l6aW5nRW5hYmxl
ZCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGlu
Z3M6OnNldFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuaDoKKyAgICAgICAgKEludGVybmFsU2V0dGluZ3MpOgorICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGw6CisKIDIwMTItMDYtMDggIEpvaG4g
TWVsbG9yICA8am9obm1lQGNocm9taXVtLm9yZz4KIAogICAgICAgICBUZXh0IEF1dG9zaXppbmc6
IEFkZCBiYXNpYyBmcmFtZXdvcmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZDIwYjAz
NTI2Y2QyMDlkZGVhMTg5NTA5NWE5NTE4MDQ3M2Y1YmQyZS4uZWNlY2VjYmI5NmQzNDllZDYzNzMz
N2Q1ZWFiOWE5NzVhNjQ1MWFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsNSAr
MSwxOCBAQAogMjAxMi0wNy0wNCAgSm9obiBNZWxsb3IgIDxqb2hubWVAY2hyb21pdW0ub3JnPgog
CisgICAgICAgIFRleHQgQXV0b3NpemluZzogQWRkIHRlc3QgZnJhbWV3b3JrIGFuZCBzaW1wbGUg
dGVzdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkw
NTYxCisKKyAgICAgICAgRU5BQkxFKFRFWFRfQVVUT1NJWklORykgaXMgbm93IG9uIGluIENocm9t
aXVtIChidXQgZGlzYWJsZWQgYXQgcnVudGltZSkuCisgICAgICAgIFRoaXMgYWxsb3dzIGl0IHRv
IGJlIHVzZWQgaW4gTGF5b3V0IFRlc3RzIChhbmQgaW4gZnV0dXJlIGJ5IFdlYgorICAgICAgICBJ
bnNwZWN0b3IncyBtb2JpbGUgZGV2aWNlIGVtdWxhdGlvbikuCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmZWF0dXJlcy5neXBpOgorCisyMDEyLTA3
LTA0ICBKb2huIE1lbGxvciAgPGpvaG5tZUBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgVGV4dCBB
dXRvc2l6aW5nOiBBZGQgY29tcGlsZSBmbGFnIGFuZCBydW50aW1lIHNldHRpbmcKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3Mzk0CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5jcHAKaW5kZXggNTVkZjNmZjJhYzcyYmRkM2Q4MWY0NzdlMjNmMjQ1YWQ4MmU3
OTNiYS4uMTQyYzg5NWI1ZGEwNTI4NWUwNTMwMzhiZWRlYTUxM2NmNjllYmFiNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5jcHAKQEAgLTEzOSw3ICsxMzksMTIgQEAgU2V0dGluZ3M6OlNldHRpbmdz
KFBhZ2UqIHBhZ2UpCiAgICAgLCBtX2VkaXRpbmdCZWhhdmlvclR5cGUoZWRpdGluZ0JlaGF2aW9y
VHlwZUZvclBsYXRmb3JtKCkpCiAgICAgLCBtX21heGltdW1IVE1MUGFyc2VyRE9NVHJlZURlcHRo
KGRlZmF1bHRNYXhpbXVtSFRNTFBhcnNlckRPTVRyZWVEZXB0aCkKICNpZiBFTkFCTEUoVEVYVF9B
VVRPU0laSU5HKQorI2lmIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AKKyAg
ICAsIG1fdGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApCiAgICAgLCBt
X3RleHRBdXRvc2l6aW5nRW5hYmxlZCh0cnVlKQorI2Vsc2UKKyAgICAsIG1fdGV4dEF1dG9zaXpp
bmdFbmFibGVkKGZhbHNlKQorI2VuZGlmCiAjZW5kaWYKICAgICAsIG1faXNTcGF0aWFsTmF2aWdh
dGlvbkVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2lzSmF2YUVuYWJsZWQoZmFsc2UpCkBAIC00MTQs
NiArNDE5LDE1IEBAIHZvaWQgU2V0dGluZ3M6OnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZChib29s
IHRleHRBdXRvc2l6aW5nRW5hYmxlZCkKICAgICBtX3RleHRBdXRvc2l6aW5nRW5hYmxlZCA9IHRl
eHRBdXRvc2l6aW5nRW5hYmxlZDsKICAgICBtX3BhZ2UtPnNldE5lZWRzUmVjYWxjU3R5bGVJbkFs
bEZyYW1lcygpOwogfQorCit2b2lkIFNldHRpbmdzOjpzZXRUZXh0QXV0b3NpemluZ1dpbmRvd1Np
emVPdmVycmlkZShJbnRTaXplIHRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlKQorewor
ICAgIGlmIChtX3RleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlID09IHRleHRBdXRvc2l6
aW5nV2luZG93U2l6ZU92ZXJyaWRlKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3RleHRBdXRv
c2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlID0gdGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJp
ZGU7CisgICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKK30KICNl
bmRpZgogCiB2b2lkIFNldHRpbmdzOjpzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoYm9vbCBs
b2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggMzIyYTVi
MTc0MzI2YWVhZTllODQ0ZWFjMGFlMmMzZmU3Y2JmZDkyNi4uZDIwOTAzZTcxYWIwZDM4MmM0MmI1
NGFmZjMyMjQ1NjNjNGU0ZGYzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMzYsNiArMzYs
MTAgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CiAjaW5jbHVkZSA8
d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCisjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKKyNp
bmNsdWRlICJJbnRTaXplLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
Y2xhc3MgUGFnZTsKQEAgLTEwNiw2ICsxMTAsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2lm
IEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiAgICAgICAgIHZvaWQgc2V0VGV4dEF1dG9zaXppbmdF
bmFibGVkKGJvb2wpOwogICAgICAgICBib29sIHRleHRBdXRvc2l6aW5nRW5hYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fdGV4dEF1dG9zaXppbmdFbmFibGVkOyB9CisKKyAgICAgICAgLy8gT25seSBz
ZXQgYnkgTGF5b3V0IFRlc3RzLCBhbmQgb25seSB1c2VkIGlmIHRleHRBdXRvc2l6aW5nRW5hYmxl
ZCgpIHJldHVybnMgdHJ1ZS4KKyAgICAgICAgdm9pZCBzZXRUZXh0QXV0b3NpemluZ1dpbmRvd1Np
emVPdmVycmlkZShJbnRTaXplKTsKKyAgICAgICAgSW50U2l6ZSB0ZXh0QXV0b3NpemluZ1dpbmRv
d1NpemVPdmVycmlkZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dEF1dG9zaXppbmdXaW5kb3dTaXpl
T3ZlcnJpZGU7IH0KICNlbmRpZgogCiAgICAgICAgIC8vIFVubGlrZSBhcmVJbWFnZXNFbmFibGVk
LCB0aGlzIG9ubHkgc3VwcHJlc3NlcyB0aGUgbmV0d29yayBsb2FkIG9mCkBAIC02MzQsNiArNjQy
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB1bnNpZ25lZCBtX2VkaXRpbmdCZWhh
dmlvclR5cGU7CiAgICAgICAgIHVuc2lnbmVkIG1fbWF4aW11bUhUTUxQYXJzZXJET01UcmVlRGVw
dGg7CiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKKyAgICAgICAgSW50U2l6ZSBtX3RleHRB
dXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlOwogICAgICAgICBib29sIG1fdGV4dEF1dG9zaXpp
bmdFbmFibGVkIDogMTsKICNlbmRpZgogICAgICAgICBib29sIG1faXNTcGF0aWFsTmF2aWdhdGlv
bkVuYWJsZWQgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRB
dXRvc2l6ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3Bw
CmluZGV4IDgyMTY2OGM4NTBjMmY1YzQzYzQwMWZmMDRkN2VjMTU5OTIyY2MzMjAuLjEyN2EyMWNh
ODNlMDhiOGFjNDVhNzdkNmM5ZTQxNTEzZTFjZmJkNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvVGV4dEF1dG9zaXplci5jcHAKQEAgLTQ5LDEzICs0OSwxMiBAQCBib29sIFRleHRBdXRv
c2l6ZXI6OmJvb3N0U3VidHJlZShSZW5kZXJPYmplY3QqIGxheW91dFJvb3QpCiAgICAgaWYgKCFt
X2RvY3VtZW50LT5zZXR0aW5ncygpIHx8ICFtX2RvY3VtZW50LT5zZXR0aW5ncygpLT50ZXh0QXV0
b3NpemluZ0VuYWJsZWQoKSB8fCBsYXlvdXRSb290LT52aWV3KCktPnByaW50aW5nKCkgfHwgIW1f
ZG9jdW1lbnQtPnBhZ2UoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0jaWZkZWYgSEFDS19G
T1JDRV9URVhUX0FVVE9TSVpJTkdfT05fREVTS1RPUAotICAgIEludFNpemUgd2luZG93U2l6ZSgz
MjAsIDQ4MCk7Ci0jZWxzZQotICAgIEZyYW1lKiBtYWluRnJhbWUgPSBtX2RvY3VtZW50LT5wYWdl
KCktPm1haW5GcmFtZSgpOwotICAgIGJvb2wgaW5jbHVkZVNjcm9sbGJhcnMgPSAhSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpzaG91bGRBcHBseVNjcmVlbldpZHRoT3ZlcnJpZGUobWFpbkZyYW1l
KTsKLSAgICBJbnRTaXplIHdpbmRvd1NpemUgPSBtYWluRnJhbWUtPnZpZXcoKS0+dmlzaWJsZUNv
bnRlbnRSZWN0KGluY2x1ZGVTY3JvbGxiYXJzKS5zaXplKCk7IC8vIEZJWE1FOiBDaGVjayB0aGF0
IHRoaXMgaXMgYWx3YXlzIGluIGxvZ2ljYWwgKGRlbnNpdHktaW5kZXBlbmRlbnQpIHBpeGVscyAo
c2VlIHdrYnVnLmNvbS84NzQ0MCkuCi0jZW5kaWYKKyAgICBJbnRTaXplIHdpbmRvd1NpemUgPSBt
X2RvY3VtZW50LT5zZXR0aW5ncygpLT50ZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgp
OworICAgIGlmICh3aW5kb3dTaXplLmlzRW1wdHkoKSkgeworICAgICAgICBGcmFtZSogbWFpbkZy
YW1lID0gbV9kb2N1bWVudC0+cGFnZSgpLT5tYWluRnJhbWUoKTsKKyAgICAgICAgYm9vbCBpbmNs
dWRlU2Nyb2xsYmFycyA9ICFJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNob3VsZEFwcGx5U2Ny
ZWVuV2lkdGhPdmVycmlkZShtYWluRnJhbWUpOworICAgICAgICB3aW5kb3dTaXplID0gbWFpbkZy
YW1lLT52aWV3KCktPnZpc2libGVDb250ZW50UmVjdChpbmNsdWRlU2Nyb2xsYmFycykuc2l6ZSgp
OyAvLyBGSVhNRTogQ2hlY2sgdGhhdCB0aGlzIGlzIGFsd2F5cyBpbiBsb2dpY2FsIChkZW5zaXR5
LWluZGVwZW5kZW50KSBwaXhlbHMgKHNlZSB3a2J1Zy5jb20vODc0NDApLgorICAgIH0KIAogICAg
IGZvciAoUmVuZGVyT2JqZWN0KiBkZXNjZW5kYW50ID0gdHJhdmVyc2VOZXh0KGxheW91dFJvb3Qs
IGxheW91dFJvb3QpOyBkZXNjZW5kYW50OyBkZXNjZW5kYW50ID0gdHJhdmVyc2VOZXh0KGRlc2Nl
bmRhbnQsIGxheW91dFJvb3QpKSB7CiAgICAgICAgIGlmICghdHJlYXRBc0lubGluZShkZXNjZW5k
YW50KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCmluZGV4
IGJmNDM5MjMwNThlM2I1NmEyM2ZhZDIxNmIwOGYwNjZiMzMxYzFiMjQuLjgzZDM3NTM3NDNiZWE0
MDU1YWZhMTVjOWE4ODEyNDM5OTZlYTljNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmNwcApAQCAtMTA3LDYgKzEwNywxMCBAQCBJbnRlcm5hbFNldHRpbmdz
OjpJbnRlcm5hbFNldHRpbmdzKEZyYW1lKiBmcmFtZSkKICAgICAsIG1fb3JpZ2luYWxXaW5kb3dG
b2N1c1Jlc3RyaWN0ZWQoc2V0dGluZ3MoKS0+d2luZG93Rm9jdXNSZXN0cmljdGVkKCkpCiAgICAg
LCBtX29yaWdpbmFsRGV2aWNlU3VwcG9ydHNUb3VjaChzZXR0aW5ncygpLT5kZXZpY2VTdXBwb3J0
c1RvdWNoKCkpCiAgICAgLCBtX29yaWdpbmFsRGV2aWNlU3VwcG9ydHNNb3VzZShzZXR0aW5ncygp
LT5kZXZpY2VTdXBwb3J0c01vdXNlKCkpCisjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKKyAg
ICAsIG1fb3JpZ2luYWxUZXh0QXV0b3NpemluZ0VuYWJsZWQoc2V0dGluZ3MoKS0+dGV4dEF1dG9z
aXppbmdFbmFibGVkKCkpCisgICAgLCBtX29yaWdpbmFsVGV4dEF1dG9zaXppbmdXaW5kb3dTaXpl
T3ZlcnJpZGUoc2V0dGluZ3MoKS0+dGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoKSkK
KyNlbmRpZgogewogfQogCkBAIC0xMjgsNiArMTMyLDEwIEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5n
czo6cmVzdG9yZVRvKFNldHRpbmdzKiBzZXR0aW5ncykKICAgICBzZXR0aW5ncy0+c2V0V2luZG93
Rm9jdXNSZXN0cmljdGVkKG1fb3JpZ2luYWxXaW5kb3dGb2N1c1Jlc3RyaWN0ZWQpOwogICAgIHNl
dHRpbmdzLT5zZXREZXZpY2VTdXBwb3J0c1RvdWNoKG1fb3JpZ2luYWxEZXZpY2VTdXBwb3J0c1Rv
dWNoKTsKICAgICBzZXR0aW5ncy0+c2V0RGV2aWNlU3VwcG9ydHNNb3VzZShtX29yaWdpbmFsRGV2
aWNlU3VwcG9ydHNNb3VzZSk7CisjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKKyAgICBzZXR0
aW5ncy0+c2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKG1fb3JpZ2luYWxUZXh0QXV0b3NpemluZ0Vu
YWJsZWQpOworICAgIHNldHRpbmdzLT5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlk
ZShtX29yaWdpbmFsVGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUpOworI2VuZGlmCiB9
CiAKIFNldHRpbmdzKiBJbnRlcm5hbFNldHRpbmdzOjpzZXR0aW5ncygpIGNvbnN0CkBAIC0zMjAs
NiArMzI4LDI5IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0UGljdG9ncmFwaEZvbnRGYW1p
bHkoY29uc3QgU3RyaW5nJiBmYW1pbHksIGNvbnN0IFN0cmluCiAgICAgc2V0Rm9udEZhbWlseShz
ZXR0aW5ncygpLCBmYW1pbHksIHNjcmlwdCwgJlNldHRpbmdzOjpzZXRQaWN0b2dyYXBoRm9udEZh
bWlseSk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0VGV4dEF1dG9zaXppbmdFbmFi
bGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisjaWYgRU5BQkxFKFRFWFRf
QVVUT1NJWklORykKKyAgICBJbnRlcm5hbFNldHRpbmdzR3VhcmRGb3JTZXR0aW5ncygpOworICAg
IHNldHRpbmdzKCktPnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZChlbmFibGVkKTsKKyNlbHNlCisg
ICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOworICAgIFVOVVNFRF9QQVJBTShlYyk7CisjZW5kaWYK
K30KKwordm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVP
dmVycmlkZShpbnQgd2lkdGgsIGludCBoZWlnaHQsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworI2lm
IEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCisgICAgSW50ZXJuYWxTZXR0aW5nc0d1YXJkRm9yU2V0
dGluZ3MoKTsKKyAgICBzZXR0aW5ncygpLT5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVy
cmlkZShJbnRTaXplKHdpZHRoLCBoZWlnaHQpKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHdp
ZHRoKTsKKyAgICBVTlVTRURfUEFSQU0oaGVpZ2h0KTsKKyAgICBVTlVTRURfUEFSQU0oZWMpOwor
I2VuZGlmCit9CisKIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0RW5hYmxlU2Nyb2xsQW5pbWF0
b3IoYm9vbCBlbmFibGVkLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICNpZiBFTkFCTEUoU01PT1RI
X1NDUk9MTElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5k
ZXggMTI3ZGE0MjhmMDY3NWQxODI0Nzk1YmFlOThkNTJkNjBkYTAyYmIzOS4uN2MzYTMzMGU3YWM4
Zjc1MGMwYTIwZmVhZmQ0YTQwYmViZTM2OTA4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmgKQEAgLTMyLDYgKzMyLDEwIEBACiAjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAorI2lmIEVOQUJMRShU
RVhUX0FVVE9TSVpJTkcpCisjaW5jbHVkZSAiSW50U2l6ZS5oIgorI2VuZGlmCisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKQEAgLTcyLDYgKzc2LDgg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoY29uc3QgU3RyaW5nJiBm
YW1pbHksIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBz
ZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBTdHJpbmcmIGZhbWlseSwgY29uc3QgU3RyaW5nJiBz
Y3JpcHQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNldFBpY3RvZ3JhcGhGb250RmFtaWx5
KGNvbnN0IFN0cmluZyYgZmFtaWx5LCBjb25zdCBTdHJpbmcmIHNjcmlwdCwgRXhjZXB0aW9uQ29k
ZSYpOworICAgIHZvaWQgc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKGJvb2wgZW5hYmxlZCwgRXhj
ZXB0aW9uQ29kZSYpOworICAgIHZvaWQgc2V0VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJp
ZGUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzZXRF
bmFibGVTY3JvbGxBbmltYXRvcihib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBi
b29sIHNjcm9sbEFuaW1hdG9yRW5hYmxlZChFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzZXRD
U1NFeGNsdXNpb25zRW5hYmxlZChib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUmKTsKQEAgLTEw
OSw2ICsxMTUsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIG1fb3JpZ2luYWxXaW5kb3dGb2N1c1Jl
c3RyaWN0ZWQ7CiAgICAgYm9vbCBtX29yaWdpbmFsRGV2aWNlU3VwcG9ydHNUb3VjaDsKICAgICBi
b29sIG1fb3JpZ2luYWxEZXZpY2VTdXBwb3J0c01vdXNlOworI2lmIEVOQUJMRShURVhUX0FVVE9T
SVpJTkcpCisgICAgYm9vbCBtX29yaWdpbmFsVGV4dEF1dG9zaXppbmdFbmFibGVkOworICAgIElu
dFNpemUgbV9vcmlnaW5hbFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlOworI2VuZGlm
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmlkbAppbmRleCAxOTY1ZjA1ZTdiNjgzNGZmNWM1ZDM4Y2I4OTAxOGRi
Y2U2OGJjNGY2Li41N2UwZjE4YmUzMjI0OGVjOGNkYmQzZjE4NGUwMWRjOTcwNTgyODU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKQEAgLTUxLDYgKzUx
LDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgc2V0Q3Vyc2l2ZUZvbnRGYW1pbHko
aW4gRE9NU3RyaW5nIGZhbWlseSwgaW4gRE9NU3RyaW5nIHNjcmlwdCkgcmFpc2VzKERPTUV4Y2Vw
dGlvbik7CiAgICAgICAgIHZvaWQgc2V0RmFudGFzeUZvbnRGYW1pbHkoaW4gRE9NU3RyaW5nIGZh
bWlseSwgaW4gRE9NU3RyaW5nIHNjcmlwdCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAg
IHZvaWQgc2V0UGljdG9ncmFwaEZvbnRGYW1pbHkoaW4gRE9NU3RyaW5nIGZhbWlseSwgaW4gRE9N
U3RyaW5nIHNjcmlwdCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgc2V0VGV4
dEF1dG9zaXppbmdFbmFibGVkKGluIGJvb2xlYW4gZW5hYmxlZCkgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CisgICAgICAgIHZvaWQgc2V0VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoaW4g
bG9uZyB3aWR0aCwgaW4gbG9uZyBoZWlnaHQpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAg
ICB2b2lkIHNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKGluIGJvb2xlYW4gZW5hYmxlZCkgcmFpc2Vz
KERPTUV4Y2VwdGlvbik7CiAgICAgICAgIGJvb2xlYW4gc2Nyb2xsQW5pbWF0b3JFbmFibGVkKCkg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgc2V0Q1NTRXhjbHVzaW9uc0VuYWJs
ZWQoaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaSBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vZmVhdHVyZXMuZ3lwaQppbmRleCAzMDc3ZDBkZTNiMWM4YzRjMTBlMGM1MzNmZjg0MWM4
MjI2YTQ3Yzc3Li5hOTgwM2FmM2Q3NmNhNzA0Mzg4YTk5OGU3YmY2ZmUyYmM1YzUxMDNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCkBAIC05Miw2ICs5Miw3IEBACiAgICAgICAn
RU5BQkxFX1NUWUxFX1NDT1BFRD0xJywKICAgICAgICdFTkFCTEVfU1ZHPTwoZW5hYmxlX3N2Zykn
LAogICAgICAgJ0VOQUJMRV9TVkdfRk9OVFM9PChlbmFibGVfc3ZnKScsCisgICAgICAnRU5BQkxF
X1RFWFRfQVVUT1NJWklORz0xJywKICAgICAgICdFTkFCTEVfVE9VQ0hfQURKVVNUTUVOVD0xJywK
ICAgICAgICdFTkFCTEVfVE9VQ0hfRVZFTlRTPTwoZW5hYmxlX3RvdWNoX2V2ZW50cyknLAogICAg
ICAgJ0VOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkc9PChlbmFibGVfdG91Y2hfaWNvbl9sb2FkaW5n
KScsCkBAIC0xNTMsNyArMTU0LDYgQEAKICAgICAgICAgICAjIEZJWE1FOiBEaXNhYmxlIG9uY2Ug
dGhlIGxpbmtpbmcgZXJyb3IgaGFzIGJlZW4gcmVzb2x2ZWQuCiAgICAgICAgICAgIyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg2MzYKICAgICAgICAgICAnRU5BQkxF
X1NIQVJFRF9XT1JLRVJTPTEnLAotICAgICAgICAgICdFTkFCTEVfVEVYVF9BVVRPU0laSU5HPTEn
LAogICAgICAgICAgICdFTkFCTEVfV0VCX0FVRElPPTAnLAogICAgICAgICAgICdXVEZfVVNFX05B
VElWRV9GVUxMU0NSRUVOX1ZJREVPPTEnLAogICAgICAgICBdLApAQCAtMTcyLDcgKzE3Miw2IEBA
CiAgICAgICAgICAgJ0VOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkc9MCcsCiAgICAgICAgICAgJ0VO
QUJMRV9QQUdFX1BPUFVQPTEnLAogICAgICAgICAgICdFTkFCTEVfU0hBUkVEX1dPUktFUlM9MScs
Ci0gICAgICAgICAgJ0VOQUJMRV9URVhUX0FVVE9TSVpJTkc9MCcsCiAgICAgICAgICAgJ0VOQUJM
RV9XRUJfQVVESU89MScsCiAgICAgICAgIF0sCiAgICAgICB9XSwKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwZDgwN2NkOTc0
ODJlN2JiMDBiY2E4MWMwYTFkMWI5NTNhZTFiYzRiLi40N2M3NDMxNDZkNDQ5ODNlMjYzNmFmM2E1
YWRiODA4ZmJhMTg0NTAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTItMDctMDQgIEpvaG4g
TWVsbG9yICA8am9obm1lQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0IEF1dG9zaXppbmc6
IEFkZCB0ZXN0IGZyYW1ld29yayBhbmQgc2ltcGxlIHRlc3QuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDU2MQorCisgICAgICAgIEFkZGVkIGEgUmVm
VGVzdCBjaGVja2luZyB0aGF0IFRleHQgQXV0b3NpemluZyBpcyBhY3RpdmUuCisgICAgICAgIFNr
aXBwZWQgdGhlIHRleHQtYXV0b3NpemluZyB0ZXN0IGRpcmVjdG9yeSBvbiBwbGF0Zm9ybXMgdGhh
dAorICAgICAgICBjdXJyZW50bHkgZGlzYWJsZSBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKS4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvdGV4
dC1hdXRvc2l6aW5nL3NpbXBsZS1wYXJhZ3JhcGgtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvc2ltcGxlLXBhcmFncmFwaC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zOgorICAg
ICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJv
L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2syL1NraXBwZWQ6CisKIDIwMTItMDYtMjkg
IEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBbRGV2aWNlIE1ldHJpY3NdICJGaXQgd2luZG93IiBvcHRpb24gaW5oaWJpdHMg
YWRqdXN0aW5nIHRoZSBwYWdlIHpvb20gZmFjdG9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3RleHQtYXV0b3NpemluZy9zaW1wbGUtcGFyYWdyYXBoLWV4cGVjdGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9zaW1wbGUtcGFyYWdyYXBoLWV4cGVjdGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjFjYjllMmZkNWM4Y2JhOGQwNGMwYWUwNDk0NGYxMTM4MjA1ZDNlZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3NpbXBs
ZS1wYXJhZ3JhcGgtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE2IEBACis8aHRtbD4KKzxoZWFk
PgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5
bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8IS0tIFRoZSBmb250LXNpemUgY2hhbmdlIGlzIGlu
dGVudGlvbmFsOyB0aGUgbGluZS1oZWlnaHQgY2hhbmdlIGlzIGEga25vd24gRklYTUU7IHRoZSBt
YXJnaW4tdG9wIGNoYW5nZSBpcyBhIGJ1ZyAtLT4KKzxwIHN0eWxlPSJmb250LXNpemU6IDIuNXJl
bTsgbGluZS1oZWlnaHQ6IDAuNjsgbWFyZ2luLXRvcDogMC44cmVtIj5Mb3JlbSBpcHN1bSBkb2xv
ciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBDdXJhYml0dXIgc2FwaWVu
IHNhcGllbiwgdGVtcHVzIGlkIGVnZXN0YXMgYSwgY29uc2VjdGV0dXIgZXQgZmVsaXMuIFV0IHBo
YXJldHJhIG1pIGVnZXQgbGVjdHVzIGxhb3JlZXQgcnV0cnVtLiBNYXVyaXMgdGVsbHVzIG9kaW8s
IGVnZXN0YXMgdml0YWUgc29kYWxlcyBpbiwgdmVoaWN1bGEgZWdldCBhbnRlLiBQZWxsZW50ZXNx
dWUgaWQgZWdlc3RhcyBhcmN1LiBRdWlzcXVlIHRlbGx1cyBxdWFtLCByaG9uY3VzIGFjIGVsZW1l
bnR1bSB2ZWwsIHZvbHV0cGF0IHZlbCBmZWxpcy4gQWxpcXVhbSB1dCBsZW8gZG9sb3IsIGVnZXQg
ZWdlc3RhcyB0ZWxsdXMuIE51bmMgdXQgdmVsaXQgZ3JhdmlkYSBuaXNsIGZyaW5naWxsYSBydXRy
dW0gZWdldCBhdCBhcmN1LiBWaXZhbXVzIGV0IHByZXRpdW0gbWF1cmlzLjwvcD4KKworPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcv
c2ltcGxlLXBhcmFncmFwaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcv
c2ltcGxlLXBhcmFncmFwaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwODBkNDY3OWZjZWZkMTQxMTQ0OWIy
NTVlMjc4NDIxMjUwYmU0YTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9zaW1wbGUtcGFyYWdyYXBoLmh0bWwKQEAgLTAsMCArMSwyNCBAQAorPGh0
bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+
Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAw
OyB9Cis8L3N0eWxlPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitpZiAod2lu
ZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1
dG9zaXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3
aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMg
dGVzdCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBz
byBydW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9z
aXppbmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13
aWR0aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRf
QVVUT1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5
PgorCis8cCBzdHlsZT0ibGluZS1oZWlnaHQ6IDEuNSI+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gQ3VyYWJpdHVyIHNhcGllbiBzYXBpZW4s
IHRlbXB1cyBpZCBlZ2VzdGFzIGEsIGNvbnNlY3RldHVyIGV0IGZlbGlzLiBVdCBwaGFyZXRyYSBt
aSBlZ2V0IGxlY3R1cyBsYW9yZWV0IHJ1dHJ1bS4gTWF1cmlzIHRlbGx1cyBvZGlvLCBlZ2VzdGFz
IHZpdGFlIHNvZGFsZXMgaW4sIHZlaGljdWxhIGVnZXQgYW50ZS4gUGVsbGVudGVzcXVlIGlkIGVn
ZXN0YXMgYXJjdS4gUXVpc3F1ZSB0ZWxsdXMgcXVhbSwgcmhvbmN1cyBhYyBlbGVtZW50dW0gdmVs
LCB2b2x1dHBhdCB2ZWwgZmVsaXMuIEFsaXF1YW0gdXQgbGVvIGRvbG9yLCBlZ2V0IGVnZXN0YXMg
dGVsbHVzLiBOdW5jIHV0IHZlbGl0IGdyYXZpZGEgbmlzbCBmcmluZ2lsbGEgcnV0cnVtIGVnZXQg
YXQgYXJjdS4gVml2YW11cyBldCBwcmV0aXVtIG1hdXJpcy48L3A+CisKKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25z
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYTQxMDI3
ODkwMzMxYTVhZjU0OWUxNDBlMmJjOWQ0OTc3NjM1NWI3NS4uMzIzNTI4YmQ1MzZjZTFkY2UzNjUw
ZTllYmIxMmRhM2Y0YThkZjlhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZs
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTEzMiw2ICsxMzIsOSBAQCBCVUdXSzg3OTA4IFNLSVAgOiBlZGl0aW5nL3Vu
ZG9tYW5hZ2VyID0gUEFTUwogLy8gRGlzYWJsZSB3ZWJhdWRpbyBjb2RlYyB0ZXN0cywgaW5jbHVk
aW5nIHByb3ByaWV0YXJ5IGNvZGVjcy4KIEJVR1dLODg3OTQgU0tJUCA6IHdlYmF1ZGlvL2NvZGVj
LXRlc3RzID0gUEFTUwogCisvLyBUZXh0IEF1dG9zaXppbmcgaXMgbm90IHlldCBlbmFibGVkLgor
QlVHV0s4NDE4NiBTS0lQIDogZmFzdC90ZXh0LWF1dG9zaXppbmcgPSBQQVNTCisKIC8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogLy8gQ1JBU0hFUwogLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDA5MjU4MDRmYWJjMjg5MDNiMzYwYmI3YmFkNDZkNmY5MGI5YjZmZDUuLmFiZDg3Mzlm
YjU1ZjkzNzc2ZTU5NmZlZTcyOTAxMDVkN2RmMGNkMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0zMzksNiArMzM5LDkgQEAgQlVHV0szMTUwOCBTS0lQ
IDogc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13
b3JsZC5odG0KIC8vIERpc2FibGUgd2ViYXVkaW8gY29kZWMgdGVzdHMsIGluY2x1ZGluZyBwcm9w
cmlldGFyeSBjb2RlY3MuCiBCVUdXSzg4Nzk0IFNLSVAgOiB3ZWJhdWRpby9jb2RlYy10ZXN0cyA9
IFBBU1MKIAorLy8gVGV4dCBBdXRvc2l6aW5nIGlzIG5vdCB5ZXQgZW5hYmxlZC4KK0JVR1dLODQx
ODYgU0tJUCA6IGZhc3QvdGV4dC1hdXRvc2l6aW5nID0gUEFTUworCiAvLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8KIC8vIEVuZCBvZiBFeHBlY3RlZCBmYWlsdXJlcwogLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IDkwNjU3ODk5ZGUyMDllMTQwMGVmMDdiMTUyM2EyNWEyNjgzNmU3Zjku
LjdhNWJhMTg1OTM3MzUwNmEzMTU1MjQxNTIzODJjYmQwMTEyZDdjOTAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0yODAsMyArMjgwLDYgQEAgQlVHV0s4
NTkxOCA6IGNvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHkvYmFja2ZhY2UtdmlzaWJpbGl0
eS1ub24zZC5odG1sID0gSU0KIEJVR1dLODg3OTQgU0tJUCA6IHdlYmF1ZGlvL2NvZGVjLXRlc3Rz
ID0gUEFTUwogCiBCVUdXSzkwMDA3IDogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQv
aW5zZWN1cmUtYXVkaW8tdmlkZW8taW4tbWFpbi1mcmFtZS5odG1sID0gVEVYVAorCisvLyBUZXh0
IEF1dG9zaXppbmcgaXMgbm90IGVuYWJsZWQuCitCVUdXSzg0MTg2IFNLSVAgOiBmYXN0L3RleHQt
YXV0b3NpemluZyA9IFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IGQ1Yjk5YWNlNjVmZjE4NjFjNjVhY2JiMzJiMjNjZDczYjJiNzAwNTYuLmQzOWQ4Zjlh
YTYzZGE1MGQyNWFkZjM3MTYyZjdhYjQ4OWIzZjcwZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTAxLDMgKzEwMSw2IEBAIEJVR1dLODU0NjMgU0tJUCA6
IGVkaXRpbmcvaW5zZXJ0aW5nL3R5cGluZy1zcGFjZS10by10cmlnZ2VyLXNtYXJ0LWxpbmsuaHRt
bCA9IFBBCiBCVUdXSzg4Nzk0IFNLSVAgOiB3ZWJhdWRpby9jb2RlYy10ZXN0cyA9IFBBU1MKIAog
QlVHV0s5MDAwNyA6IGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWF1
ZGlvLXZpZGVvLWluLW1haW4tZnJhbWUuaHRtbCA9IFRFWFQKKworLy8gVGV4dCBBdXRvc2l6aW5n
IGlzIG5vdCBlbmFibGVkLgorQlVHV0s4NDE4NiBTS0lQIDogZmFzdC90ZXh0LWF1dG9zaXppbmcg
PSBQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IGU4OTIyMjEwMmRiMzRmNTVhYmFl
ZWU1OTk1ODY4ZjhjOWE1ZGY0OTQuLmJlNmIyYzM4YmQwNDU5NDc2NGFkOTlkZDg5NjdjNmY5Nzcx
ZjgzNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xMjk2LDYgKzEyOTYsOSBAQCBm
dWxsc2NyZWVuLwogIyB2aWV3cG9ydCBtZXRhIHRhZyBzdXBwb3J0CiBmYXN0L3ZpZXdwb3J0CiAK
KyMgVGV4dCBBdXRvc2l6aW5nIGlzIG5vdCBlbmFibGVkIChodHRwOi8vd2Via2l0Lm9yZy9iLzg0
MTg2KS4KK2Zhc3QvdGV4dC1hdXRvc2l6aW5nCisKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQ1OTgzCiBtZWRpYS9tZWRpYS1jYW4tcGxheS1tcGVnNC12aWRlby5o
dG1sCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCmluZGV4IGYwNTc4MzEzOWNl
Y2M1NDY1M2Q3MmYyYjNlMzMwMmJmMzM4MzRjYmYuLjc0YTBjNmIxMGYyYWU3MDQ4ZjMyYzU4N2I1
N2YwNzkxYmJiMWMxY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZApAQCAt
MTc5NCw2ICsxNzk0LDkgQEAgZnVsbHNjcmVlbi8KICMgdmlld3BvcnQgbWV0YSB0YWcgc3VwcG9y
dAogZmFzdC92aWV3cG9ydAogCisjIFRleHQgQXV0b3NpemluZyBpcyBub3QgZW5hYmxlZCAoaHR0
cDovL3dlYmtpdC5vcmcvYi84NDE4NikuCitmYXN0L3RleHQtYXV0b3NpemluZworCiAjIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTk4MwogbWVkaWEvbWVkaWEtY2Fu
LXBsYXktbXBlZzQtdmlkZW8uaHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93azIvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCmluZGV4IDBh
ZDA4ZTkzMjQwNDBiNjg5Y2JhYTFlNjY5MmRlMmY1YTdkN2RjMmEuLjQxN2RlMWNlYzJhZjRmZTk5
MmRkODJjYTRlZDE4ZGUzMDA5YTIwNjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3drMi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCkBAIC04
MTIsNiArODEyLDEwIEBAIGluc3BlY3Rvci9zdHlsZXMvb3ZlcnJpZGUtc2NyZWVuLXNpemUuaHRt
bAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODYwMDAKIGh0dHAv
dGVzdHMvc2VjdXJpdHkvcmVmZXJyZXItcG9saWN5LXJlZGlyZWN0LWxpbmsuaHRtbAogCisjIFRl
eHQgQXV0b3NpemluZyBpcyBub3QgeWV0IGVuYWJsZWQuCisjIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04NDE4NgorZmFzdC90ZXh0LWF1dG9zaXppbmcKKwogIyMjIEVO
RCBPRiAoMSkgQ2xhc3NpZmllZCBmYWlsdXJlcyB3aXRoIGJ1ZyByZXBvcnRzCiAjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150847</attachid>
            <date>2012-07-04 14:57:47 -0700</date>
            <delta_ts>2012-07-05 03:04:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90561-20120704225746.patch</filename>
            <type>text/plain</type>
            <size>21030</size>
            <attacher name="John Mellor">johnme</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU5MDI4NmJhNWE5N2Qz
ZGY3Y2YyZmNmNGRlZjAxMGI5YmIwZjFmZS4uNWYyYTU1ZGFmNGVlMmE0ZjM5N2NiODJlOTk1Njgy
NzUwZGJlMDFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA3LTA0ICBKb2hu
IE1lbGxvciAgPGpvaG5tZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dCBBdXRvc2l6aW5n
OiBBZGQgdGVzdCBmcmFtZXdvcmsgYW5kIHNpbXBsZSB0ZXN0LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA1NjEKKworICAgICAgICBFeHBvc2VzIG1l
dGhvZHMgYWxsb3dpbmcgTGF5b3V0IFRlc3RzIHRvIGVuYWJsZSBUZXh0IEF1dG9zaXppbmcgYW5k
CisgICAgICAgIGdldCB0aGUgc2FtZSByZXN1bHRzIGFzIGlmIHRoZXkgd2VyZSBydW5uaW5nIG9u
IGEgbW9iaWxlIGRldmljZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0OiBmYXN0L3RleHQtYXV0b3NpemluZy9zaW1wbGUtcGFyYWdyYXBoLmh0
bWwKKworICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0
dGluZ3M6OlNldHRpbmdzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
U2V0dGluZ3M6OnNldFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlKToKKyAgICAgICAg
KiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgIChTZXR0aW5ncyk6CisgICAgICAgIChXZWJDb3Jl
OjpTZXR0aW5nczo6dGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUpOgorICAgICAgICAq
IHJlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRBdXRv
c2l6ZXI6OmJvb3N0U3VidHJlZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OkludGVybmFsU2V0dGlu
Z3MpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6cmVzdG9yZVRvKToKKyAg
ICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFRleHRBdXRvc2l6aW5nRW5hYmxl
ZCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGlu
Z3M6OnNldFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuaDoKKyAgICAgICAgKEludGVybmFsU2V0dGluZ3MpOgorICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGw6CisKIDIwMTItMDYtMDggIEpvaG4g
TWVsbG9yICA8am9obm1lQGNocm9taXVtLm9yZz4KIAogICAgICAgICBUZXh0IEF1dG9zaXppbmc6
IEFkZCBiYXNpYyBmcmFtZXdvcmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZDIwYjAz
NTI2Y2QyMDlkZGVhMTg5NTA5NWE5NTE4MDQ3M2Y1YmQyZS4uZWNlY2VjYmI5NmQzNDllZDYzNzMz
N2Q1ZWFiOWE5NzVhNjQ1MWFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsNSAr
MSwxOCBAQAogMjAxMi0wNy0wNCAgSm9obiBNZWxsb3IgIDxqb2hubWVAY2hyb21pdW0ub3JnPgog
CisgICAgICAgIFRleHQgQXV0b3NpemluZzogQWRkIHRlc3QgZnJhbWV3b3JrIGFuZCBzaW1wbGUg
dGVzdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkw
NTYxCisKKyAgICAgICAgRU5BQkxFKFRFWFRfQVVUT1NJWklORykgaXMgbm93IG9uIGluIENocm9t
aXVtIChidXQgZGlzYWJsZWQgYXQgcnVudGltZSkuCisgICAgICAgIFRoaXMgYWxsb3dzIGl0IHRv
IGJlIHVzZWQgaW4gTGF5b3V0IFRlc3RzIChhbmQgaW4gZnV0dXJlIGJ5IFdlYgorICAgICAgICBJ
bnNwZWN0b3IncyBtb2JpbGUgZGV2aWNlIGVtdWxhdGlvbikuCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmZWF0dXJlcy5neXBpOgorCisyMDEyLTA3
LTA0ICBKb2huIE1lbGxvciAgPGpvaG5tZUBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgVGV4dCBB
dXRvc2l6aW5nOiBBZGQgY29tcGlsZSBmbGFnIGFuZCBydW50aW1lIHNldHRpbmcKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3Mzk0CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5jcHAKaW5kZXggNTVkZjNmZjJhYzcyYmRkM2Q4MWY0NzdlMjNmMjQ1YWQ4MmU3
OTNiYS4uODU5ZTg0NDUyNzVkZmE4MTQxMGVlNzU0NTQ5NTc3MzNlY2I2YTVhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5jcHAKQEAgLTEzOSw3ICsxMzksMTIgQEAgU2V0dGluZ3M6OlNldHRpbmdz
KFBhZ2UqIHBhZ2UpCiAgICAgLCBtX2VkaXRpbmdCZWhhdmlvclR5cGUoZWRpdGluZ0JlaGF2aW9y
VHlwZUZvclBsYXRmb3JtKCkpCiAgICAgLCBtX21heGltdW1IVE1MUGFyc2VyRE9NVHJlZURlcHRo
KGRlZmF1bHRNYXhpbXVtSFRNTFBhcnNlckRPTVRyZWVEZXB0aCkKICNpZiBFTkFCTEUoVEVYVF9B
VVRPU0laSU5HKQorI2lmIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AKKyAg
ICAsIG1fdGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApCiAgICAgLCBt
X3RleHRBdXRvc2l6aW5nRW5hYmxlZCh0cnVlKQorI2Vsc2UKKyAgICAsIG1fdGV4dEF1dG9zaXpp
bmdFbmFibGVkKGZhbHNlKQorI2VuZGlmCiAjZW5kaWYKICAgICAsIG1faXNTcGF0aWFsTmF2aWdh
dGlvbkVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2lzSmF2YUVuYWJsZWQoZmFsc2UpCkBAIC00MTQs
NiArNDE5LDE1IEBAIHZvaWQgU2V0dGluZ3M6OnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZChib29s
IHRleHRBdXRvc2l6aW5nRW5hYmxlZCkKICAgICBtX3RleHRBdXRvc2l6aW5nRW5hYmxlZCA9IHRl
eHRBdXRvc2l6aW5nRW5hYmxlZDsKICAgICBtX3BhZ2UtPnNldE5lZWRzUmVjYWxjU3R5bGVJbkFs
bEZyYW1lcygpOwogfQorCit2b2lkIFNldHRpbmdzOjpzZXRUZXh0QXV0b3NpemluZ1dpbmRvd1Np
emVPdmVycmlkZShjb25zdCBJbnRTaXplJiB0ZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlk
ZSkKK3sKKyAgICBpZiAobV90ZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSA9PSB0ZXh0
QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV90
ZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSA9IHRleHRBdXRvc2l6aW5nV2luZG93U2l6
ZU92ZXJyaWRlOworICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7
Cit9CiAjZW5kaWYKIAogdm9pZCBTZXR0aW5nczo6c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5
KGJvb2wgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4
IDMyMmE1YjE3NDMyNmFlYWU5ZTg0NGVhYzBhZTJjM2ZlN2NiZmQ5MjYuLjExYzhlZDQ4ODRjNjJj
MzgwNDlkZTk2MjMwMDNiYjA1YTlhNzU0MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTM2
LDYgKzM2LDEwIEBACiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgogI2lu
Y2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIAorI2lmIEVOQUJMRShURVhUX0FVVE9TSVpJ
TkcpCisjaW5jbHVkZSAiSW50U2l6ZS5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIGNsYXNzIFBhZ2U7CkBAIC0xMDYsNiArMTEwLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogICAgICAgICB2b2lkIHNldFRleHRBdXRv
c2l6aW5nRW5hYmxlZChib29sKTsKICAgICAgICAgYm9vbCB0ZXh0QXV0b3NpemluZ0VuYWJsZWQo
KSBjb25zdCB7IHJldHVybiBtX3RleHRBdXRvc2l6aW5nRW5hYmxlZDsgfQorCisgICAgICAgIC8v
IE9ubHkgc2V0IGJ5IExheW91dCBUZXN0cywgYW5kIG9ubHkgdXNlZCBpZiB0ZXh0QXV0b3Npemlu
Z0VuYWJsZWQoKSByZXR1cm5zIHRydWUuCisgICAgICAgIHZvaWQgc2V0VGV4dEF1dG9zaXppbmdX
aW5kb3dTaXplT3ZlcnJpZGUoY29uc3QgSW50U2l6ZSYpOworICAgICAgICBjb25zdCBJbnRTaXpl
JiB0ZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4
dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGU7IH0KICNlbmRpZgogCiAgICAgICAgIC8vIFVu
bGlrZSBhcmVJbWFnZXNFbmFibGVkLCB0aGlzIG9ubHkgc3VwcHJlc3NlcyB0aGUgbmV0d29yayBs
b2FkIG9mCkBAIC02MzQsNiArNjQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB1
bnNpZ25lZCBtX2VkaXRpbmdCZWhhdmlvclR5cGU7CiAgICAgICAgIHVuc2lnbmVkIG1fbWF4aW11
bUhUTUxQYXJzZXJET01UcmVlRGVwdGg7CiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKKyAg
ICAgICAgSW50U2l6ZSBtX3RleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlOwogICAgICAg
ICBib29sIG1fdGV4dEF1dG9zaXppbmdFbmFibGVkIDogMTsKICNlbmRpZgogICAgICAgICBib29s
IG1faXNTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1RleHRBdXRvc2l6ZXIuY3BwCmluZGV4IDgyMTY2OGM4NTBjMmY1YzQzYzQwMWZmMDRkN2Vj
MTU5OTIyY2MzMjAuLjEyN2EyMWNhODNlMDhiOGFjNDVhNzdkNmM5ZTQxNTEzZTFjZmJkNzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5jcHAKQEAgLTQ5LDEzICs0
OSwxMiBAQCBib29sIFRleHRBdXRvc2l6ZXI6OmJvb3N0U3VidHJlZShSZW5kZXJPYmplY3QqIGxh
eW91dFJvb3QpCiAgICAgaWYgKCFtX2RvY3VtZW50LT5zZXR0aW5ncygpIHx8ICFtX2RvY3VtZW50
LT5zZXR0aW5ncygpLT50ZXh0QXV0b3NpemluZ0VuYWJsZWQoKSB8fCBsYXlvdXRSb290LT52aWV3
KCktPnByaW50aW5nKCkgfHwgIW1fZG9jdW1lbnQtPnBhZ2UoKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCi0jaWZkZWYgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJTkdfT05fREVTS1RPUAotICAg
IEludFNpemUgd2luZG93U2l6ZSgzMjAsIDQ4MCk7Ci0jZWxzZQotICAgIEZyYW1lKiBtYWluRnJh
bWUgPSBtX2RvY3VtZW50LT5wYWdlKCktPm1haW5GcmFtZSgpOwotICAgIGJvb2wgaW5jbHVkZVNj
cm9sbGJhcnMgPSAhSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzaG91bGRBcHBseVNjcmVlbldp
ZHRoT3ZlcnJpZGUobWFpbkZyYW1lKTsKLSAgICBJbnRTaXplIHdpbmRvd1NpemUgPSBtYWluRnJh
bWUtPnZpZXcoKS0+dmlzaWJsZUNvbnRlbnRSZWN0KGluY2x1ZGVTY3JvbGxiYXJzKS5zaXplKCk7
IC8vIEZJWE1FOiBDaGVjayB0aGF0IHRoaXMgaXMgYWx3YXlzIGluIGxvZ2ljYWwgKGRlbnNpdHkt
aW5kZXBlbmRlbnQpIHBpeGVscyAoc2VlIHdrYnVnLmNvbS84NzQ0MCkuCi0jZW5kaWYKKyAgICBJ
bnRTaXplIHdpbmRvd1NpemUgPSBtX2RvY3VtZW50LT5zZXR0aW5ncygpLT50ZXh0QXV0b3Npemlu
Z1dpbmRvd1NpemVPdmVycmlkZSgpOworICAgIGlmICh3aW5kb3dTaXplLmlzRW1wdHkoKSkgewor
ICAgICAgICBGcmFtZSogbWFpbkZyYW1lID0gbV9kb2N1bWVudC0+cGFnZSgpLT5tYWluRnJhbWUo
KTsKKyAgICAgICAgYm9vbCBpbmNsdWRlU2Nyb2xsYmFycyA9ICFJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OnNob3VsZEFwcGx5U2NyZWVuV2lkdGhPdmVycmlkZShtYWluRnJhbWUpOworICAgICAg
ICB3aW5kb3dTaXplID0gbWFpbkZyYW1lLT52aWV3KCktPnZpc2libGVDb250ZW50UmVjdChpbmNs
dWRlU2Nyb2xsYmFycykuc2l6ZSgpOyAvLyBGSVhNRTogQ2hlY2sgdGhhdCB0aGlzIGlzIGFsd2F5
cyBpbiBsb2dpY2FsIChkZW5zaXR5LWluZGVwZW5kZW50KSBwaXhlbHMgKHNlZSB3a2J1Zy5jb20v
ODc0NDApLgorICAgIH0KIAogICAgIGZvciAoUmVuZGVyT2JqZWN0KiBkZXNjZW5kYW50ID0gdHJh
dmVyc2VOZXh0KGxheW91dFJvb3QsIGxheW91dFJvb3QpOyBkZXNjZW5kYW50OyBkZXNjZW5kYW50
ID0gdHJhdmVyc2VOZXh0KGRlc2NlbmRhbnQsIGxheW91dFJvb3QpKSB7CiAgICAgICAgIGlmICgh
dHJlYXRBc0lubGluZShkZXNjZW5kYW50KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuY3BwCmluZGV4IGJmNDM5MjMwNThlM2I1NmEyM2ZhZDIxNmIwOGYwNjZiMzMx
YzFiMjQuLjgzZDM3NTM3NDNiZWE0MDU1YWZhMTVjOWE4ODEyNDM5OTZlYTljNGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtMTA3LDYgKzEwNywx
MCBAQCBJbnRlcm5hbFNldHRpbmdzOjpJbnRlcm5hbFNldHRpbmdzKEZyYW1lKiBmcmFtZSkKICAg
ICAsIG1fb3JpZ2luYWxXaW5kb3dGb2N1c1Jlc3RyaWN0ZWQoc2V0dGluZ3MoKS0+d2luZG93Rm9j
dXNSZXN0cmljdGVkKCkpCiAgICAgLCBtX29yaWdpbmFsRGV2aWNlU3VwcG9ydHNUb3VjaChzZXR0
aW5ncygpLT5kZXZpY2VTdXBwb3J0c1RvdWNoKCkpCiAgICAgLCBtX29yaWdpbmFsRGV2aWNlU3Vw
cG9ydHNNb3VzZShzZXR0aW5ncygpLT5kZXZpY2VTdXBwb3J0c01vdXNlKCkpCisjaWYgRU5BQkxF
KFRFWFRfQVVUT1NJWklORykKKyAgICAsIG1fb3JpZ2luYWxUZXh0QXV0b3NpemluZ0VuYWJsZWQo
c2V0dGluZ3MoKS0+dGV4dEF1dG9zaXppbmdFbmFibGVkKCkpCisgICAgLCBtX29yaWdpbmFsVGV4
dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoc2V0dGluZ3MoKS0+dGV4dEF1dG9zaXppbmdX
aW5kb3dTaXplT3ZlcnJpZGUoKSkKKyNlbmRpZgogewogfQogCkBAIC0xMjgsNiArMTMyLDEwIEBA
IHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6cmVzdG9yZVRvKFNldHRpbmdzKiBzZXR0aW5ncykKICAg
ICBzZXR0aW5ncy0+c2V0V2luZG93Rm9jdXNSZXN0cmljdGVkKG1fb3JpZ2luYWxXaW5kb3dGb2N1
c1Jlc3RyaWN0ZWQpOwogICAgIHNldHRpbmdzLT5zZXREZXZpY2VTdXBwb3J0c1RvdWNoKG1fb3Jp
Z2luYWxEZXZpY2VTdXBwb3J0c1RvdWNoKTsKICAgICBzZXR0aW5ncy0+c2V0RGV2aWNlU3VwcG9y
dHNNb3VzZShtX29yaWdpbmFsRGV2aWNlU3VwcG9ydHNNb3VzZSk7CisjaWYgRU5BQkxFKFRFWFRf
QVVUT1NJWklORykKKyAgICBzZXR0aW5ncy0+c2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKG1fb3Jp
Z2luYWxUZXh0QXV0b3NpemluZ0VuYWJsZWQpOworICAgIHNldHRpbmdzLT5zZXRUZXh0QXV0b3Np
emluZ1dpbmRvd1NpemVPdmVycmlkZShtX29yaWdpbmFsVGV4dEF1dG9zaXppbmdXaW5kb3dTaXpl
T3ZlcnJpZGUpOworI2VuZGlmCiB9CiAKIFNldHRpbmdzKiBJbnRlcm5hbFNldHRpbmdzOjpzZXR0
aW5ncygpIGNvbnN0CkBAIC0zMjAsNiArMzI4LDI5IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6
c2V0UGljdG9ncmFwaEZvbnRGYW1pbHkoY29uc3QgU3RyaW5nJiBmYW1pbHksIGNvbnN0IFN0cmlu
CiAgICAgc2V0Rm9udEZhbWlseShzZXR0aW5ncygpLCBmYW1pbHksIHNjcmlwdCwgJlNldHRpbmdz
OjpzZXRQaWN0b2dyYXBoRm9udEZhbWlseSk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxTZXR0aW5nczo6
c2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYgZWMp
Cit7CisjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKKyAgICBJbnRlcm5hbFNldHRpbmdzR3Vh
cmRGb3JTZXR0aW5ncygpOworICAgIHNldHRpbmdzKCktPnNldFRleHRBdXRvc2l6aW5nRW5hYmxl
ZChlbmFibGVkKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOworICAgIFVOVVNF
RF9QQVJBTShlYyk7CisjZW5kaWYKK30KKwordm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRUZXh0
QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZShpbnQgd2lkdGgsIGludCBoZWlnaHQsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQoreworI2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCisgICAgSW50ZXJu
YWxTZXR0aW5nc0d1YXJkRm9yU2V0dGluZ3MoKTsKKyAgICBzZXR0aW5ncygpLT5zZXRUZXh0QXV0
b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZShJbnRTaXplKHdpZHRoLCBoZWlnaHQpKTsKKyNlbHNl
CisgICAgVU5VU0VEX1BBUkFNKHdpZHRoKTsKKyAgICBVTlVTRURfUEFSQU0oaGVpZ2h0KTsKKyAg
ICBVTlVTRURfUEFSQU0oZWMpOworI2VuZGlmCit9CisKIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6
c2V0RW5hYmxlU2Nyb2xsQW5pbWF0b3IoYm9vbCBlbmFibGVkLCBFeGNlcHRpb25Db2RlJiBlYykK
IHsKICNpZiBFTkFCTEUoU01PT1RIX1NDUk9MTElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmgKaW5kZXggMTI3ZGE0MjhmMDY3NWQxODI0Nzk1YmFlOThkNTJkNjBk
YTAyYmIzOS4uN2MzYTMzMGU3YWM4Zjc1MGMwYTIwZmVhZmQ0YTQwYmViZTM2OTA4YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTMyLDYgKzMyLDEwIEBA
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAorI2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCisjaW5jbHVkZSAiSW50U2l6ZS5o
IgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdHlwZWRlZiBpbnQgRXhjZXB0aW9u
Q29kZTsKQEAgLTcyLDYgKzc2LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q3Vyc2l2ZUZvbnRG
YW1pbHkoY29uc3QgU3RyaW5nJiBmYW1pbHksIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBFeGNlcHRp
b25Db2RlJik7CiAgICAgdm9pZCBzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBTdHJpbmcmIGZh
bWlseSwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNl
dFBpY3RvZ3JhcGhGb250RmFtaWx5KGNvbnN0IFN0cmluZyYgZmFtaWx5LCBjb25zdCBTdHJpbmcm
IHNjcmlwdCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgc2V0VGV4dEF1dG9zaXppbmdFbmFi
bGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgc2V0VGV4dEF1dG9z
aXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBFeGNlcHRpb25D
b2RlJik7CiAgICAgdm9pZCBzZXRFbmFibGVTY3JvbGxBbmltYXRvcihib29sIGVuYWJsZWQsIEV4
Y2VwdGlvbkNvZGUmKTsKICAgICBib29sIHNjcm9sbEFuaW1hdG9yRW5hYmxlZChFeGNlcHRpb25D
b2RlJik7CiAgICAgdm9pZCBzZXRDU1NFeGNsdXNpb25zRW5hYmxlZChib29sIGVuYWJsZWQsIEV4
Y2VwdGlvbkNvZGUmKTsKQEAgLTEwOSw2ICsxMTUsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
b3JpZ2luYWxXaW5kb3dGb2N1c1Jlc3RyaWN0ZWQ7CiAgICAgYm9vbCBtX29yaWdpbmFsRGV2aWNl
U3VwcG9ydHNUb3VjaDsKICAgICBib29sIG1fb3JpZ2luYWxEZXZpY2VTdXBwb3J0c01vdXNlOwor
I2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCisgICAgYm9vbCBtX29yaWdpbmFsVGV4dEF1dG9z
aXppbmdFbmFibGVkOworICAgIEludFNpemUgbV9vcmlnaW5hbFRleHRBdXRvc2l6aW5nV2luZG93
U2l6ZU92ZXJyaWRlOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAppbmRleCAxOTY1ZjA1ZTdi
NjgzNGZmNWM1ZDM4Y2I4OTAxOGRiY2U2OGJjNGY2Li41N2UwZjE4YmUzMjI0OGVjOGNkYmQzZjE4
NGUwMWRjOTcwNTgyODU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0
aW5ncy5pZGwKQEAgLTUxLDYgKzUxLDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQg
c2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoaW4gRE9NU3RyaW5nIGZhbWlseSwgaW4gRE9NU3RyaW5nIHNj
cmlwdCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgc2V0RmFudGFzeUZvbnRG
YW1pbHkoaW4gRE9NU3RyaW5nIGZhbWlseSwgaW4gRE9NU3RyaW5nIHNjcmlwdCkgcmFpc2VzKERP
TUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgc2V0UGljdG9ncmFwaEZvbnRGYW1pbHkoaW4gRE9N
U3RyaW5nIGZhbWlseSwgaW4gRE9NU3RyaW5nIHNjcmlwdCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7
CisgICAgICAgIHZvaWQgc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKGluIGJvb2xlYW4gZW5hYmxl
ZCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgc2V0VGV4dEF1dG9zaXppbmdX
aW5kb3dTaXplT3ZlcnJpZGUoaW4gbG9uZyB3aWR0aCwgaW4gbG9uZyBoZWlnaHQpIHJhaXNlcyhE
T01FeGNlcHRpb24pOwogICAgICAgICB2b2lkIHNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKGluIGJv
b2xlYW4gZW5hYmxlZCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIGJvb2xlYW4gc2Ny
b2xsQW5pbWF0b3JFbmFibGVkKCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQg
c2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9NRXhj
ZXB0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lw
aSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQppbmRleCAzMDc3ZDBkZTNi
MWM4YzRjMTBlMGM1MzNmZjg0MWM4MjI2YTQ3Yzc3Li5hOTgwM2FmM2Q3NmNhNzA0Mzg4YTk5OGU3
YmY2ZmUyYmM1YzUxMDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1
cmVzLmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCkBAIC05
Miw2ICs5Miw3IEBACiAgICAgICAnRU5BQkxFX1NUWUxFX1NDT1BFRD0xJywKICAgICAgICdFTkFC
TEVfU1ZHPTwoZW5hYmxlX3N2ZyknLAogICAgICAgJ0VOQUJMRV9TVkdfRk9OVFM9PChlbmFibGVf
c3ZnKScsCisgICAgICAnRU5BQkxFX1RFWFRfQVVUT1NJWklORz0xJywKICAgICAgICdFTkFCTEVf
VE9VQ0hfQURKVVNUTUVOVD0xJywKICAgICAgICdFTkFCTEVfVE9VQ0hfRVZFTlRTPTwoZW5hYmxl
X3RvdWNoX2V2ZW50cyknLAogICAgICAgJ0VOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkc9PChlbmFi
bGVfdG91Y2hfaWNvbl9sb2FkaW5nKScsCkBAIC0xNTMsNyArMTU0LDYgQEAKICAgICAgICAgICAj
IEZJWE1FOiBEaXNhYmxlIG9uY2UgdGhlIGxpbmtpbmcgZXJyb3IgaGFzIGJlZW4gcmVzb2x2ZWQu
CiAgICAgICAgICAgIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg2
MzYKICAgICAgICAgICAnRU5BQkxFX1NIQVJFRF9XT1JLRVJTPTEnLAotICAgICAgICAgICdFTkFC
TEVfVEVYVF9BVVRPU0laSU5HPTEnLAogICAgICAgICAgICdFTkFCTEVfV0VCX0FVRElPPTAnLAog
ICAgICAgICAgICdXVEZfVVNFX05BVElWRV9GVUxMU0NSRUVOX1ZJREVPPTEnLAogICAgICAgICBd
LApAQCAtMTcyLDcgKzE3Miw2IEBACiAgICAgICAgICAgJ0VOQUJMRV9PVkVSRkxPV19TQ1JPTExJ
Tkc9MCcsCiAgICAgICAgICAgJ0VOQUJMRV9QQUdFX1BPUFVQPTEnLAogICAgICAgICAgICdFTkFC
TEVfU0hBUkVEX1dPUktFUlM9MScsCi0gICAgICAgICAgJ0VOQUJMRV9URVhUX0FVVE9TSVpJTkc9
MCcsCiAgICAgICAgICAgJ0VOQUJMRV9XRUJfQVVESU89MScsCiAgICAgICAgIF0sCiAgICAgICB9
XSwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAwZDgwN2NkOTc0ODJlN2JiMDBiY2E4MWMwYTFkMWI5NTNhZTFiYzRiLi40N2M3
NDMxNDZkNDQ5ODNlMjYzNmFmM2E1YWRiODA4ZmJhMTg0NTAxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTItMDctMDQgIEpvaG4gTWVsbG9yICA8am9obm1lQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBUZXh0IEF1dG9zaXppbmc6IEFkZCB0ZXN0IGZyYW1ld29yayBhbmQgc2ltcGxlIHRlc3Qu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDU2MQor
CisgICAgICAgIEFkZGVkIGEgUmVmVGVzdCBjaGVja2luZyB0aGF0IFRleHQgQXV0b3NpemluZyBp
cyBhY3RpdmUuCisgICAgICAgIFNraXBwZWQgdGhlIHRleHQtYXV0b3NpemluZyB0ZXN0IGRpcmVj
dG9yeSBvbiBwbGF0Zm9ybXMgdGhhdAorICAgICAgICBjdXJyZW50bHkgZGlzYWJsZSBFTkFCTEUo
VEVYVF9BVVRPU0laSU5HKS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL3NpbXBsZS1wYXJhZ3JhcGgtZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvc2ltcGxlLXBh
cmFncmFwaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9U
ZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgorICAgICAg
ICAqIHBsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2syL1Nr
aXBwZWQ6CisKIDIwMTItMDYtMjkgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBbRGV2aWNlIE1ldHJpY3NdICJGaXQgd2lu
ZG93IiBvcHRpb24gaW5oaWJpdHMgYWRqdXN0aW5nIHRoZSBwYWdlIHpvb20gZmFjdG9yCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9zaW1wbGUtcGFyYWdyYXBo
LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9zaW1wbGUt
cGFyYWdyYXBoLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjFjYjllMmZkNWM4Y2JhOGQwNGMw
YWUwNDk0NGYxMTM4MjA1ZDNlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC1hdXRvc2l6aW5nL3NpbXBsZS1wYXJhZ3JhcGgtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsx
LDE2IEBACis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4
OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8IS0tIFRoZSBm
b250LXNpemUgY2hhbmdlIGlzIGludGVudGlvbmFsOyB0aGUgbGluZS1oZWlnaHQgY2hhbmdlIGlz
IGEga25vd24gRklYTUU7IHRoZSBtYXJnaW4tdG9wIGNoYW5nZSBpcyBhIGJ1ZyAtLT4KKzxwIHN0
eWxlPSJmb250LXNpemU6IDIuNXJlbTsgbGluZS1oZWlnaHQ6IDAuNjsgbWFyZ2luLXRvcDogMC44
cmVtIj5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBl
bGl0LiBDdXJhYml0dXIgc2FwaWVuIHNhcGllbiwgdGVtcHVzIGlkIGVnZXN0YXMgYSwgY29uc2Vj
dGV0dXIgZXQgZmVsaXMuIFV0IHBoYXJldHJhIG1pIGVnZXQgbGVjdHVzIGxhb3JlZXQgcnV0cnVt
LiBNYXVyaXMgdGVsbHVzIG9kaW8sIGVnZXN0YXMgdml0YWUgc29kYWxlcyBpbiwgdmVoaWN1bGEg
ZWdldCBhbnRlLiBQZWxsZW50ZXNxdWUgaWQgZWdlc3RhcyBhcmN1LiBRdWlzcXVlIHRlbGx1cyBx
dWFtLCByaG9uY3VzIGFjIGVsZW1lbnR1bSB2ZWwsIHZvbHV0cGF0IHZlbCBmZWxpcy4gQWxpcXVh
bSB1dCBsZW8gZG9sb3IsIGVnZXQgZWdlc3RhcyB0ZWxsdXMuIE51bmMgdXQgdmVsaXQgZ3Jhdmlk
YSBuaXNsIGZyaW5naWxsYSBydXRydW0gZWdldCBhdCBhcmN1LiBWaXZhbXVzIGV0IHByZXRpdW0g
bWF1cmlzLjwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0LWF1dG9zaXppbmcvc2ltcGxlLXBhcmFncmFwaC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0LWF1dG9zaXppbmcvc2ltcGxlLXBhcmFncmFwaC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcw
ODBkNDY3OWZjZWZkMTQxMTQ0OWIyNTVlMjc4NDIxMjUwYmU0YTIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9zaW1wbGUtcGFyYWdyYXBoLmh0bWwK
QEAgLTAsMCArMSwyNCBAQAorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorYm9keSB7IHdp
ZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5p
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIw
LCA0ODApOworfSBlbHNlIGlmICh3aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAg
ICBjb25zb2xlLndhcm4oIlRoaXMgdGVzdCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcg
c2V0dGluZyBiZWluZyB0cnVlLCBzbyBydW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVh
bGx5IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmlj
ZSB3aXRoIDMyMHB4IGRldmljZS13aWR0aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRl
ZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3Jp
cHQ+CisKKzwvaGVhZD4KKzxib2R5PgorCis8cCBzdHlsZT0ibGluZS1oZWlnaHQ6IDEuNSI+TG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gQ3Vy
YWJpdHVyIHNhcGllbiBzYXBpZW4sIHRlbXB1cyBpZCBlZ2VzdGFzIGEsIGNvbnNlY3RldHVyIGV0
IGZlbGlzLiBVdCBwaGFyZXRyYSBtaSBlZ2V0IGxlY3R1cyBsYW9yZWV0IHJ1dHJ1bS4gTWF1cmlz
IHRlbGx1cyBvZGlvLCBlZ2VzdGFzIHZpdGFlIHNvZGFsZXMgaW4sIHZlaGljdWxhIGVnZXQgYW50
ZS4gUGVsbGVudGVzcXVlIGlkIGVnZXN0YXMgYXJjdS4gUXVpc3F1ZSB0ZWxsdXMgcXVhbSwgcmhv
bmN1cyBhYyBlbGVtZW50dW0gdmVsLCB2b2x1dHBhdCB2ZWwgZmVsaXMuIEFsaXF1YW0gdXQgbGVv
IGRvbG9yLCBlZ2V0IGVnZXN0YXMgdGVsbHVzLiBOdW5jIHV0IHZlbGl0IGdyYXZpZGEgbmlzbCBm
cmluZ2lsbGEgcnV0cnVtIGVnZXQgYXQgYXJjdS4gVml2YW11cyBldCBwcmV0aXVtIG1hdXJpcy48
L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2VmbC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggYTQxMDI3ODkwMzMxYTVhZjU0OWUxNDBlMmJjOWQ0OTc3NjM1NWI3NS4u
MzIzNTI4YmQ1MzZjZTFkY2UzNjUwZTllYmIxMmRhM2Y0YThkZjlhYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzMiw2ICsxMzIsOSBAQCBCVUdXSzg3
OTA4IFNLSVAgOiBlZGl0aW5nL3VuZG9tYW5hZ2VyID0gUEFTUwogLy8gRGlzYWJsZSB3ZWJhdWRp
byBjb2RlYyB0ZXN0cywgaW5jbHVkaW5nIHByb3ByaWV0YXJ5IGNvZGVjcy4KIEJVR1dLODg3OTQg
U0tJUCA6IHdlYmF1ZGlvL2NvZGVjLXRlc3RzID0gUEFTUwogCisvLyBUZXh0IEF1dG9zaXppbmcg
aXMgbm90IHlldCBlbmFibGVkLgorQlVHV0s4NDE4NiBTS0lQIDogZmFzdC90ZXh0LWF1dG9zaXpp
bmcgPSBQQVNTCisKIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogLy8gQ1JBU0hF
UwogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDA5MjU4MDRmYWJjMjg5MDNiMzYwYmI3YmFkNDZk
NmY5MGI5YjZmZDUuLmFiZDg3MzlmYjU1ZjkzNzc2ZTU5NmZlZTcyOTAxMDVkN2RmMGNkMTMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0zMzksNiArMzM5
LDkgQEAgQlVHV0szMTUwOCBTS0lQIDogc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tc3VjY2Vz
cy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG0KIC8vIERpc2FibGUgd2ViYXVkaW8gY29kZWMg
dGVzdHMsIGluY2x1ZGluZyBwcm9wcmlldGFyeSBjb2RlY3MuCiBCVUdXSzg4Nzk0IFNLSVAgOiB3
ZWJhdWRpby9jb2RlYy10ZXN0cyA9IFBBU1MKIAorLy8gVGV4dCBBdXRvc2l6aW5nIGlzIG5vdCB5
ZXQgZW5hYmxlZC4KK0JVR1dLODQxODYgU0tJUCA6IGZhc3QvdGV4dC1hdXRvc2l6aW5nID0gUEFT
UworCiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIC8vIEVuZCBvZiBFeHBlY3Rl
ZCBmYWlsdXJlcwogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDkwNjU3ODk5ZGUyMDllMTQwMGVm
MDdiMTUyM2EyNWEyNjgzNmU3ZjkuLjdhNWJhMTg1OTM3MzUwNmEzMTU1MjQxNTIzODJjYmQwMTEy
ZDdjOTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0y
ODAsMyArMjgwLDYgQEAgQlVHV0s4NTkxOCA6IGNvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxp
dHkvYmFja2ZhY2UtdmlzaWJpbGl0eS1ub24zZC5odG1sID0gSU0KIEJVR1dLODg3OTQgU0tJUCA6
IHdlYmF1ZGlvL2NvZGVjLXRlc3RzID0gUEFTUwogCiBCVUdXSzkwMDA3IDogaHR0cC90ZXN0cy9z
ZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtYXVkaW8tdmlkZW8taW4tbWFpbi1mcmFtZS5o
dG1sID0gVEVYVAorCisvLyBUZXh0IEF1dG9zaXppbmcgaXMgbm90IGVuYWJsZWQuCitCVUdXSzg0
MTg2IFNLSVAgOiBmYXN0L3RleHQtYXV0b3NpemluZyA9IFBBU1MKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQ1Yjk5YWNlNjVmZjE4NjFjNjVhY2JiMzJiMjNj
ZDczYjJiNzAwNTYuLmQzOWQ4ZjlhYTYzZGE1MGQyNWFkZjM3MTYyZjdhYjQ4OWIzZjcwZjIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTAxLDMgKzEwMSw2
IEBAIEJVR1dLODU0NjMgU0tJUCA6IGVkaXRpbmcvaW5zZXJ0aW5nL3R5cGluZy1zcGFjZS10by10
cmlnZ2VyLXNtYXJ0LWxpbmsuaHRtbCA9IFBBCiBCVUdXSzg4Nzk0IFNLSVAgOiB3ZWJhdWRpby9j
b2RlYy10ZXN0cyA9IFBBU1MKIAogQlVHV0s5MDAwNyA6IGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4
ZWRDb250ZW50L2luc2VjdXJlLWF1ZGlvLXZpZGVvLWluLW1haW4tZnJhbWUuaHRtbCA9IFRFWFQK
KworLy8gVGV4dCBBdXRvc2l6aW5nIGlzIG5vdCBlbmFibGVkLgorQlVHV0s4NDE4NiBTS0lQIDog
ZmFzdC90ZXh0LWF1dG9zaXppbmcgPSBQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4
IGU4OTIyMjEwMmRiMzRmNTVhYmFlZWU1OTk1ODY4ZjhjOWE1ZGY0OTQuLmJlNmIyYzM4YmQwNDU5
NDc2NGFkOTlkZDg5NjdjNmY5NzcxZjgzNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBA
IC0xMjk2LDYgKzEyOTYsOSBAQCBmdWxsc2NyZWVuLwogIyB2aWV3cG9ydCBtZXRhIHRhZyBzdXBw
b3J0CiBmYXN0L3ZpZXdwb3J0CiAKKyMgVGV4dCBBdXRvc2l6aW5nIGlzIG5vdCBlbmFibGVkICho
dHRwOi8vd2Via2l0Lm9yZy9iLzg0MTg2KS4KK2Zhc3QvdGV4dC1hdXRvc2l6aW5nCisKICMgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1OTgzCiBtZWRpYS9tZWRpYS1j
YW4tcGxheS1tcGVnNC12aWRlby5odG1sCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbmNhaXJvL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lw
cGVkCmluZGV4IGYwNTc4MzEzOWNlY2M1NDY1M2Q3MmYyYjNlMzMwMmJmMzM4MzRjYmYuLjc0YTBj
NmIxMGYyYWU3MDQ4ZjMyYzU4N2I1N2YwNzkxYmJiMWMxY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luY2Fpcm8vU2tpcHBlZApAQCAtMTc5NCw2ICsxNzk0LDkgQEAgZnVsbHNjcmVlbi8KICMgdmll
d3BvcnQgbWV0YSB0YWcgc3VwcG9ydAogZmFzdC92aWV3cG9ydAogCisjIFRleHQgQXV0b3Npemlu
ZyBpcyBub3QgZW5hYmxlZCAoaHR0cDovL3dlYmtpdC5vcmcvYi84NDE4NikuCitmYXN0L3RleHQt
YXV0b3NpemluZworCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
NTk4MwogbWVkaWEvbWVkaWEtY2FuLXBsYXktbXBlZzQtdmlkZW8uaHRtbAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3drMi9Ta2lwcGVkCmluZGV4IDBhZDA4ZTkzMjQwNDBiNjg5Y2JhYTFlNjY5MmRlMmY1YTdkN2Rj
MmEuLjQxN2RlMWNlYzJhZjRmZTk5MmRkODJjYTRlZDE4ZGUzMDA5YTIwNjcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3drMi9Ta2lwcGVkCkBAIC04MTIsNiArODEyLDEwIEBAIGluc3BlY3Rvci9zdHlsZXMvb3Zl
cnJpZGUtc2NyZWVuLXNpemUuaHRtbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODYwMDAKIGh0dHAvdGVzdHMvc2VjdXJpdHkvcmVmZXJyZXItcG9saWN5LXJlZGly
ZWN0LWxpbmsuaHRtbAogCisjIFRleHQgQXV0b3NpemluZyBpcyBub3QgeWV0IGVuYWJsZWQuCisj
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDE4NgorZmFzdC90ZXh0
LWF1dG9zaXppbmcKKwogIyMjIEVORCBPRiAoMSkgQ2xhc3NpZmllZCBmYWlsdXJlcyB3aXRoIGJ1
ZyByZXBvcnRzCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150910</attachid>
            <date>2012-07-05 03:04:24 -0700</date>
            <delta_ts>2012-07-05 08:38:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90561-20120705110422.patch</filename>
            <type>text/plain</type>
            <size>21027</size>
            <attacher name="John Mellor">johnme</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxODgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjY1MGZiMTgzYmJjMjg2
Mjk0YzdlYjE4NGM1NGM2Y2E4MTVlNjVjYS4uOTE3MzZiOWI1YWIzYWVjZmM3YTY2M2EwYzU2MzJk
NTRmYzkwMWQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA3LTA0ICBKb2hu
IE1lbGxvciAgPGpvaG5tZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dCBBdXRvc2l6aW5n
OiBBZGQgdGVzdCBmcmFtZXdvcmsgYW5kIHNpbXBsZSB0ZXN0LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA1NjEKKworICAgICAgICBFeHBvc2VzIG1l
dGhvZHMgYWxsb3dpbmcgTGF5b3V0IFRlc3RzIHRvIGVuYWJsZSBUZXh0IEF1dG9zaXppbmcgYW5k
CisgICAgICAgIGdldCB0aGUgc2FtZSByZXN1bHRzIGFzIGlmIHRoZXkgd2VyZSBydW5uaW5nIG9u
IGEgbW9iaWxlIGRldmljZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0OiBmYXN0L3RleHQtYXV0b3NpemluZy9zaW1wbGUtcGFyYWdyYXBoLmh0
bWwKKworICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0
dGluZ3M6OlNldHRpbmdzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
U2V0dGluZ3M6OnNldFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlKToKKyAgICAgICAg
KiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgIChTZXR0aW5ncyk6CisgICAgICAgIChXZWJDb3Jl
OjpTZXR0aW5nczo6dGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUpOgorICAgICAgICAq
IHJlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRBdXRv
c2l6ZXI6OmJvb3N0U3VidHJlZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OkludGVybmFsU2V0dGlu
Z3MpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6cmVzdG9yZVRvKToKKyAg
ICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFRleHRBdXRvc2l6aW5nRW5hYmxl
ZCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGlu
Z3M6OnNldFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuaDoKKyAgICAgICAgKEludGVybmFsU2V0dGluZ3MpOgorICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGw6CisKIDIwMTItMDctMDQgIEhheWF0
byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbW92ZSBpbmxpbmUga2V5
d29yZHMgZnJvbSBmdW5jdGlvbnMgd2hpY2ggY2FuIG5vdCBiZSBpbmxpbmVkIGluIENvbXBvc2Vk
U2hhZG93VHJlZVdhbGtlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA3NWVlZmIzZGZl
NDE1MWNkMmY2Njc0NDhjNWUwYzM1ZTlmMDIyZmMzLi44M2Y3YTQ1ZmE3NDE3NDQ2ZTIyNGJhNWQ2
Zjg1NGU2ZDYyMTVkNDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDEyLTA3LTA0ICBKb2huIE1lbGxvciAgPGpvaG5tZUBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgVGV4dCBBdXRvc2l6aW5nOiBBZGQgdGVzdCBmcmFtZXdvcmsgYW5kIHNpbXBsZSB0ZXN0
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA1NjEK
KworICAgICAgICBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKSBpcyBub3cgb24gaW4gQ2hyb21pdW0g
KGJ1dCBkaXNhYmxlZCBhdCBydW50aW1lKS4KKyAgICAgICAgVGhpcyBhbGxvd3MgaXQgdG8gYmUg
dXNlZCBpbiBMYXlvdXQgVGVzdHMgKGFuZCBpbiBmdXR1cmUgYnkgV2ViCisgICAgICAgIEluc3Bl
Y3RvcidzIG1vYmlsZSBkZXZpY2UgZW11bGF0aW9uKS4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZlYXR1cmVzLmd5cGk6CisKIDIwMTItMDctMDQg
IFlvc2hpZnVtaSBJbm91ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmll
d2VkLCBDaHJvbWl1bSBnYXJkZW5pbmcuIFJvbGwgQ2hyb21pdW0gREVQUy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5jcHAKaW5kZXggNTVkZjNmZjJhYzcyYmRkM2Q4MWY0NzdlMjNmMjQ1YWQ4MmU3OTNi
YS4uODU5ZTg0NDUyNzVkZmE4MTQxMGVlNzU0NTQ5NTc3MzNlY2I2YTVhNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5jcHAKQEAgLTEzOSw3ICsxMzksMTIgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBh
Z2UqIHBhZ2UpCiAgICAgLCBtX2VkaXRpbmdCZWhhdmlvclR5cGUoZWRpdGluZ0JlaGF2aW9yVHlw
ZUZvclBsYXRmb3JtKCkpCiAgICAgLCBtX21heGltdW1IVE1MUGFyc2VyRE9NVHJlZURlcHRoKGRl
ZmF1bHRNYXhpbXVtSFRNTFBhcnNlckRPTVRyZWVEZXB0aCkKICNpZiBFTkFCTEUoVEVYVF9BVVRP
U0laSU5HKQorI2lmIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AKKyAgICAs
IG1fdGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApCiAgICAgLCBtX3Rl
eHRBdXRvc2l6aW5nRW5hYmxlZCh0cnVlKQorI2Vsc2UKKyAgICAsIG1fdGV4dEF1dG9zaXppbmdF
bmFibGVkKGZhbHNlKQorI2VuZGlmCiAjZW5kaWYKICAgICAsIG1faXNTcGF0aWFsTmF2aWdhdGlv
bkVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2lzSmF2YUVuYWJsZWQoZmFsc2UpCkBAIC00MTQsNiAr
NDE5LDE1IEBAIHZvaWQgU2V0dGluZ3M6OnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZChib29sIHRl
eHRBdXRvc2l6aW5nRW5hYmxlZCkKICAgICBtX3RleHRBdXRvc2l6aW5nRW5hYmxlZCA9IHRleHRB
dXRvc2l6aW5nRW5hYmxlZDsKICAgICBtX3BhZ2UtPnNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZy
YW1lcygpOwogfQorCit2b2lkIFNldHRpbmdzOjpzZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVP
dmVycmlkZShjb25zdCBJbnRTaXplJiB0ZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSkK
K3sKKyAgICBpZiAobV90ZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSA9PSB0ZXh0QXV0
b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV90ZXh0
QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSA9IHRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92
ZXJyaWRlOworICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7Cit9
CiAjZW5kaWYKIAogdm9pZCBTZXR0aW5nczo6c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KGJv
b2wgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IDMy
MmE1YjE3NDMyNmFlYWU5ZTg0NGVhYzBhZTJjM2ZlN2NiZmQ5MjYuLjExYzhlZDQ4ODRjNjJjMzgw
NDlkZTk2MjMwMDNiYjA1YTlhNzU0MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTM2LDYg
KzM2LDEwIEBACiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgogI2luY2x1
ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIAorI2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcp
CisjaW5jbHVkZSAiSW50U2l6ZS5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIGNsYXNzIFBhZ2U7CkBAIC0xMDYsNiArMTEwLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogICAgICAgICB2b2lkIHNldFRleHRBdXRvc2l6
aW5nRW5hYmxlZChib29sKTsKICAgICAgICAgYm9vbCB0ZXh0QXV0b3NpemluZ0VuYWJsZWQoKSBj
b25zdCB7IHJldHVybiBtX3RleHRBdXRvc2l6aW5nRW5hYmxlZDsgfQorCisgICAgICAgIC8vIE9u
bHkgc2V0IGJ5IExheW91dCBUZXN0cywgYW5kIG9ubHkgdXNlZCBpZiB0ZXh0QXV0b3NpemluZ0Vu
YWJsZWQoKSByZXR1cm5zIHRydWUuCisgICAgICAgIHZvaWQgc2V0VGV4dEF1dG9zaXppbmdXaW5k
b3dTaXplT3ZlcnJpZGUoY29uc3QgSW50U2l6ZSYpOworICAgICAgICBjb25zdCBJbnRTaXplJiB0
ZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dEF1
dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGU7IH0KICNlbmRpZgogCiAgICAgICAgIC8vIFVubGlr
ZSBhcmVJbWFnZXNFbmFibGVkLCB0aGlzIG9ubHkgc3VwcHJlc3NlcyB0aGUgbmV0d29yayBsb2Fk
IG9mCkBAIC02MzQsNiArNjQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB1bnNp
Z25lZCBtX2VkaXRpbmdCZWhhdmlvclR5cGU7CiAgICAgICAgIHVuc2lnbmVkIG1fbWF4aW11bUhU
TUxQYXJzZXJET01UcmVlRGVwdGg7CiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKKyAgICAg
ICAgSW50U2l6ZSBtX3RleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlOwogICAgICAgICBi
b29sIG1fdGV4dEF1dG9zaXppbmdFbmFibGVkIDogMTsKICNlbmRpZgogICAgICAgICBib29sIG1f
aXNTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1RleHRBdXRvc2l6ZXIuY3BwCmluZGV4IDgyMTY2OGM4NTBjMmY1YzQzYzQwMWZmMDRkN2VjMTU5
OTIyY2MzMjAuLjEyN2EyMWNhODNlMDhiOGFjNDVhNzdkNmM5ZTQxNTEzZTFjZmJkNzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5jcHAKQEAgLTQ5LDEzICs0OSwx
MiBAQCBib29sIFRleHRBdXRvc2l6ZXI6OmJvb3N0U3VidHJlZShSZW5kZXJPYmplY3QqIGxheW91
dFJvb3QpCiAgICAgaWYgKCFtX2RvY3VtZW50LT5zZXR0aW5ncygpIHx8ICFtX2RvY3VtZW50LT5z
ZXR0aW5ncygpLT50ZXh0QXV0b3NpemluZ0VuYWJsZWQoKSB8fCBsYXlvdXRSb290LT52aWV3KCkt
PnByaW50aW5nKCkgfHwgIW1fZG9jdW1lbnQtPnBhZ2UoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCi0jaWZkZWYgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJTkdfT05fREVTS1RPUAotICAgIElu
dFNpemUgd2luZG93U2l6ZSgzMjAsIDQ4MCk7Ci0jZWxzZQotICAgIEZyYW1lKiBtYWluRnJhbWUg
PSBtX2RvY3VtZW50LT5wYWdlKCktPm1haW5GcmFtZSgpOwotICAgIGJvb2wgaW5jbHVkZVNjcm9s
bGJhcnMgPSAhSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzaG91bGRBcHBseVNjcmVlbldpZHRo
T3ZlcnJpZGUobWFpbkZyYW1lKTsKLSAgICBJbnRTaXplIHdpbmRvd1NpemUgPSBtYWluRnJhbWUt
PnZpZXcoKS0+dmlzaWJsZUNvbnRlbnRSZWN0KGluY2x1ZGVTY3JvbGxiYXJzKS5zaXplKCk7IC8v
IEZJWE1FOiBDaGVjayB0aGF0IHRoaXMgaXMgYWx3YXlzIGluIGxvZ2ljYWwgKGRlbnNpdHktaW5k
ZXBlbmRlbnQpIHBpeGVscyAoc2VlIHdrYnVnLmNvbS84NzQ0MCkuCi0jZW5kaWYKKyAgICBJbnRT
aXplIHdpbmRvd1NpemUgPSBtX2RvY3VtZW50LT5zZXR0aW5ncygpLT50ZXh0QXV0b3NpemluZ1dp
bmRvd1NpemVPdmVycmlkZSgpOworICAgIGlmICh3aW5kb3dTaXplLmlzRW1wdHkoKSkgeworICAg
ICAgICBGcmFtZSogbWFpbkZyYW1lID0gbV9kb2N1bWVudC0+cGFnZSgpLT5tYWluRnJhbWUoKTsK
KyAgICAgICAgYm9vbCBpbmNsdWRlU2Nyb2xsYmFycyA9ICFJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OnNob3VsZEFwcGx5U2NyZWVuV2lkdGhPdmVycmlkZShtYWluRnJhbWUpOworICAgICAgICB3
aW5kb3dTaXplID0gbWFpbkZyYW1lLT52aWV3KCktPnZpc2libGVDb250ZW50UmVjdChpbmNsdWRl
U2Nyb2xsYmFycykuc2l6ZSgpOyAvLyBGSVhNRTogQ2hlY2sgdGhhdCB0aGlzIGlzIGFsd2F5cyBp
biBsb2dpY2FsIChkZW5zaXR5LWluZGVwZW5kZW50KSBwaXhlbHMgKHNlZSB3a2J1Zy5jb20vODc0
NDApLgorICAgIH0KIAogICAgIGZvciAoUmVuZGVyT2JqZWN0KiBkZXNjZW5kYW50ID0gdHJhdmVy
c2VOZXh0KGxheW91dFJvb3QsIGxheW91dFJvb3QpOyBkZXNjZW5kYW50OyBkZXNjZW5kYW50ID0g
dHJhdmVyc2VOZXh0KGRlc2NlbmRhbnQsIGxheW91dFJvb3QpKSB7CiAgICAgICAgIGlmICghdHJl
YXRBc0lubGluZShkZXNjZW5kYW50KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
U2V0dGluZ3MuY3BwCmluZGV4IGJmNDM5MjMwNThlM2I1NmEyM2ZhZDIxNmIwOGYwNjZiMzMxYzFi
MjQuLjgzZDM3NTM3NDNiZWE0MDU1YWZhMTVjOWE4ODEyNDM5OTZlYTljNGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtMTA3LDYgKzEwNywxMCBA
QCBJbnRlcm5hbFNldHRpbmdzOjpJbnRlcm5hbFNldHRpbmdzKEZyYW1lKiBmcmFtZSkKICAgICAs
IG1fb3JpZ2luYWxXaW5kb3dGb2N1c1Jlc3RyaWN0ZWQoc2V0dGluZ3MoKS0+d2luZG93Rm9jdXNS
ZXN0cmljdGVkKCkpCiAgICAgLCBtX29yaWdpbmFsRGV2aWNlU3VwcG9ydHNUb3VjaChzZXR0aW5n
cygpLT5kZXZpY2VTdXBwb3J0c1RvdWNoKCkpCiAgICAgLCBtX29yaWdpbmFsRGV2aWNlU3VwcG9y
dHNNb3VzZShzZXR0aW5ncygpLT5kZXZpY2VTdXBwb3J0c01vdXNlKCkpCisjaWYgRU5BQkxFKFRF
WFRfQVVUT1NJWklORykKKyAgICAsIG1fb3JpZ2luYWxUZXh0QXV0b3NpemluZ0VuYWJsZWQoc2V0
dGluZ3MoKS0+dGV4dEF1dG9zaXppbmdFbmFibGVkKCkpCisgICAgLCBtX29yaWdpbmFsVGV4dEF1
dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoc2V0dGluZ3MoKS0+dGV4dEF1dG9zaXppbmdXaW5k
b3dTaXplT3ZlcnJpZGUoKSkKKyNlbmRpZgogewogfQogCkBAIC0xMjgsNiArMTMyLDEwIEBAIHZv
aWQgSW50ZXJuYWxTZXR0aW5nczo6cmVzdG9yZVRvKFNldHRpbmdzKiBzZXR0aW5ncykKICAgICBz
ZXR0aW5ncy0+c2V0V2luZG93Rm9jdXNSZXN0cmljdGVkKG1fb3JpZ2luYWxXaW5kb3dGb2N1c1Jl
c3RyaWN0ZWQpOwogICAgIHNldHRpbmdzLT5zZXREZXZpY2VTdXBwb3J0c1RvdWNoKG1fb3JpZ2lu
YWxEZXZpY2VTdXBwb3J0c1RvdWNoKTsKICAgICBzZXR0aW5ncy0+c2V0RGV2aWNlU3VwcG9ydHNN
b3VzZShtX29yaWdpbmFsRGV2aWNlU3VwcG9ydHNNb3VzZSk7CisjaWYgRU5BQkxFKFRFWFRfQVVU
T1NJWklORykKKyAgICBzZXR0aW5ncy0+c2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKG1fb3JpZ2lu
YWxUZXh0QXV0b3NpemluZ0VuYWJsZWQpOworICAgIHNldHRpbmdzLT5zZXRUZXh0QXV0b3Npemlu
Z1dpbmRvd1NpemVPdmVycmlkZShtX29yaWdpbmFsVGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3Zl
cnJpZGUpOworI2VuZGlmCiB9CiAKIFNldHRpbmdzKiBJbnRlcm5hbFNldHRpbmdzOjpzZXR0aW5n
cygpIGNvbnN0CkBAIC0zMjAsNiArMzI4LDI5IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0
UGljdG9ncmFwaEZvbnRGYW1pbHkoY29uc3QgU3RyaW5nJiBmYW1pbHksIGNvbnN0IFN0cmluCiAg
ICAgc2V0Rm9udEZhbWlseShzZXR0aW5ncygpLCBmYW1pbHksIHNjcmlwdCwgJlNldHRpbmdzOjpz
ZXRQaWN0b2dyYXBoRm9udEZhbWlseSk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0
VGV4dEF1dG9zaXppbmdFbmFibGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7
CisjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKKyAgICBJbnRlcm5hbFNldHRpbmdzR3VhcmRG
b3JTZXR0aW5ncygpOworICAgIHNldHRpbmdzKCktPnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZChl
bmFibGVkKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOworICAgIFVOVVNFRF9Q
QVJBTShlYyk7CisjZW5kaWYKK30KKwordm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRUZXh0QXV0
b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZShpbnQgd2lkdGgsIGludCBoZWlnaHQsIEV4Y2VwdGlv
bkNvZGUmIGVjKQoreworI2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCisgICAgSW50ZXJuYWxT
ZXR0aW5nc0d1YXJkRm9yU2V0dGluZ3MoKTsKKyAgICBzZXR0aW5ncygpLT5zZXRUZXh0QXV0b3Np
emluZ1dpbmRvd1NpemVPdmVycmlkZShJbnRTaXplKHdpZHRoLCBoZWlnaHQpKTsKKyNlbHNlCisg
ICAgVU5VU0VEX1BBUkFNKHdpZHRoKTsKKyAgICBVTlVTRURfUEFSQU0oaGVpZ2h0KTsKKyAgICBV
TlVTRURfUEFSQU0oZWMpOworI2VuZGlmCit9CisKIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0
RW5hYmxlU2Nyb2xsQW5pbWF0b3IoYm9vbCBlbmFibGVkLCBFeGNlcHRpb25Db2RlJiBlYykKIHsK
ICNpZiBFTkFCTEUoU01PT1RIX1NDUk9MTElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmgKaW5kZXggMTI3ZGE0MjhmMDY3NWQxODI0Nzk1YmFlOThkNTJkNjBkYTAy
YmIzOS4uN2MzYTMzMGU3YWM4Zjc1MGMwYTIwZmVhZmQ0YTQwYmViZTM2OTA4YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTMyLDYgKzMyLDEwIEBACiAj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KIAorI2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCisjaW5jbHVkZSAiSW50U2l6ZS5oIgor
I2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29k
ZTsKQEAgLTcyLDYgKzc2LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q3Vyc2l2ZUZvbnRGYW1p
bHkoY29uc3QgU3RyaW5nJiBmYW1pbHksIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBFeGNlcHRpb25D
b2RlJik7CiAgICAgdm9pZCBzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBTdHJpbmcmIGZhbWls
eSwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNldFBp
Y3RvZ3JhcGhGb250RmFtaWx5KGNvbnN0IFN0cmluZyYgZmFtaWx5LCBjb25zdCBTdHJpbmcmIHNj
cmlwdCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgc2V0VGV4dEF1dG9zaXppbmdFbmFibGVk
KGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgc2V0VGV4dEF1dG9zaXpp
bmdXaW5kb3dTaXplT3ZlcnJpZGUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBFeGNlcHRpb25Db2Rl
Jik7CiAgICAgdm9pZCBzZXRFbmFibGVTY3JvbGxBbmltYXRvcihib29sIGVuYWJsZWQsIEV4Y2Vw
dGlvbkNvZGUmKTsKICAgICBib29sIHNjcm9sbEFuaW1hdG9yRW5hYmxlZChFeGNlcHRpb25Db2Rl
Jik7CiAgICAgdm9pZCBzZXRDU1NFeGNsdXNpb25zRW5hYmxlZChib29sIGVuYWJsZWQsIEV4Y2Vw
dGlvbkNvZGUmKTsKQEAgLTEwOSw2ICsxMTUsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIG1fb3Jp
Z2luYWxXaW5kb3dGb2N1c1Jlc3RyaWN0ZWQ7CiAgICAgYm9vbCBtX29yaWdpbmFsRGV2aWNlU3Vw
cG9ydHNUb3VjaDsKICAgICBib29sIG1fb3JpZ2luYWxEZXZpY2VTdXBwb3J0c01vdXNlOworI2lm
IEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCisgICAgYm9vbCBtX29yaWdpbmFsVGV4dEF1dG9zaXpp
bmdFbmFibGVkOworICAgIEludFNpemUgbV9vcmlnaW5hbFRleHRBdXRvc2l6aW5nV2luZG93U2l6
ZU92ZXJyaWRlOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAppbmRleCAxOTY1ZjA1ZTdiNjgz
NGZmNWM1ZDM4Y2I4OTAxOGRiY2U2OGJjNGY2Li41N2UwZjE4YmUzMjI0OGVjOGNkYmQzZjE4NGUw
MWRjOTcwNTgyODU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
U2V0dGluZ3MuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5pZGwKQEAgLTUxLDYgKzUxLDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgc2V0
Q3Vyc2l2ZUZvbnRGYW1pbHkoaW4gRE9NU3RyaW5nIGZhbWlseSwgaW4gRE9NU3RyaW5nIHNjcmlw
dCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgc2V0RmFudGFzeUZvbnRGYW1p
bHkoaW4gRE9NU3RyaW5nIGZhbWlseSwgaW4gRE9NU3RyaW5nIHNjcmlwdCkgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgc2V0UGljdG9ncmFwaEZvbnRGYW1pbHkoaW4gRE9NU3Ry
aW5nIGZhbWlseSwgaW4gRE9NU3RyaW5nIHNjcmlwdCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7Cisg
ICAgICAgIHZvaWQgc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKGluIGJvb2xlYW4gZW5hYmxlZCkg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgc2V0VGV4dEF1dG9zaXppbmdXaW5k
b3dTaXplT3ZlcnJpZGUoaW4gbG9uZyB3aWR0aCwgaW4gbG9uZyBoZWlnaHQpIHJhaXNlcyhET01F
eGNlcHRpb24pOwogICAgICAgICB2b2lkIHNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKGluIGJvb2xl
YW4gZW5hYmxlZCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIGJvb2xlYW4gc2Nyb2xs
QW5pbWF0b3JFbmFibGVkKCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgc2V0
Q1NTRXhjbHVzaW9uc0VuYWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaSBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQppbmRleCAzMDc3ZDBkZTNiMWM4
YzRjMTBlMGM1MzNmZjg0MWM4MjI2YTQ3Yzc3Li5hOTgwM2FmM2Q3NmNhNzA0Mzg4YTk5OGU3YmY2
ZmUyYmM1YzUxMDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVz
Lmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCkBAIC05Miw2
ICs5Miw3IEBACiAgICAgICAnRU5BQkxFX1NUWUxFX1NDT1BFRD0xJywKICAgICAgICdFTkFCTEVf
U1ZHPTwoZW5hYmxlX3N2ZyknLAogICAgICAgJ0VOQUJMRV9TVkdfRk9OVFM9PChlbmFibGVfc3Zn
KScsCisgICAgICAnRU5BQkxFX1RFWFRfQVVUT1NJWklORz0xJywKICAgICAgICdFTkFCTEVfVE9V
Q0hfQURKVVNUTUVOVD0xJywKICAgICAgICdFTkFCTEVfVE9VQ0hfRVZFTlRTPTwoZW5hYmxlX3Rv
dWNoX2V2ZW50cyknLAogICAgICAgJ0VOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkc9PChlbmFibGVf
dG91Y2hfaWNvbl9sb2FkaW5nKScsCkBAIC0xNTMsNyArMTU0LDYgQEAKICAgICAgICAgICAjIEZJ
WE1FOiBEaXNhYmxlIG9uY2UgdGhlIGxpbmtpbmcgZXJyb3IgaGFzIGJlZW4gcmVzb2x2ZWQuCiAg
ICAgICAgICAgIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg2MzYK
ICAgICAgICAgICAnRU5BQkxFX1NIQVJFRF9XT1JLRVJTPTEnLAotICAgICAgICAgICdFTkFCTEVf
VEVYVF9BVVRPU0laSU5HPTEnLAogICAgICAgICAgICdFTkFCTEVfV0VCX0FVRElPPTAnLAogICAg
ICAgICAgICdXVEZfVVNFX05BVElWRV9GVUxMU0NSRUVOX1ZJREVPPTEnLAogICAgICAgICBdLApA
QCAtMTcyLDcgKzE3Miw2IEBACiAgICAgICAgICAgJ0VOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkc9
MCcsCiAgICAgICAgICAgJ0VOQUJMRV9QQUdFX1BPUFVQPTEnLAogICAgICAgICAgICdFTkFCTEVf
U0hBUkVEX1dPUktFUlM9MScsCi0gICAgICAgICAgJ0VOQUJMRV9URVhUX0FVVE9TSVpJTkc9MCcs
CiAgICAgICAgICAgJ0VOQUJMRV9XRUJfQVVESU89MScsCiAgICAgICAgIF0sCiAgICAgICB9XSwK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxNzJkZmY2NmQ0NDI4ODI5MGI5ZWI3MDVhYjAxNzZkY2M2ZDRlYThhLi41MTc1NmM2
NWEwMTlhOThhMGEwNmNlODA4NzNhZDIzZDA1MGVlNDhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAK
KzIwMTItMDctMDQgIEpvaG4gTWVsbG9yICA8am9obm1lQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBUZXh0IEF1dG9zaXppbmc6IEFkZCB0ZXN0IGZyYW1ld29yayBhbmQgc2ltcGxlIHRlc3QuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDU2MQorCisg
ICAgICAgIEFkZGVkIGEgUmVmVGVzdCBjaGVja2luZyB0aGF0IFRleHQgQXV0b3NpemluZyBpcyBh
Y3RpdmUuCisgICAgICAgIFNraXBwZWQgdGhlIHRleHQtYXV0b3NpemluZyB0ZXN0IGRpcmVjdG9y
eSBvbiBwbGF0Zm9ybXMgdGhhdAorICAgICAgICBjdXJyZW50bHkgZGlzYWJsZSBFTkFCTEUoVEVY
VF9BVVRPU0laSU5HKS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL3NpbXBsZS1wYXJhZ3JhcGgtZXhwZWN0ZWQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvc2ltcGxlLXBhcmFn
cmFwaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9UZXN0
RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgorICAgICAgICAq
IHBsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2syL1NraXBw
ZWQ6CisKIDIwMTItMDctMDQgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBTa2lwIENTUCAxLjEgdGVzdHMgb24gcG9ydHMgd2hlcmUgaXQncyBkaXNhYmxlZC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3NpbXBsZS1wYXJhZ3Jh
cGgtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3NpbXBs
ZS1wYXJhZ3JhcGgtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMWNiOWUyZmQ1YzhjYmE4ZDA0
YzBhZTA0OTQ0ZjExMzgyMDVkM2VlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0LWF1dG9zaXppbmcvc2ltcGxlLXBhcmFncmFwaC1leHBlY3RlZC5odG1sCkBAIC0wLDAg
KzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2JvZHkgeyB3aWR0aDogODAw
cHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzwhLS0gVGhl
IGZvbnQtc2l6ZSBjaGFuZ2UgaXMgaW50ZW50aW9uYWw7IHRoZSBsaW5lLWhlaWdodCBjaGFuZ2Ug
aXMgYSBrbm93biBGSVhNRTsgdGhlIG1hcmdpbi10b3AgY2hhbmdlIGlzIGEgYnVnIC0tPgorPHAg
c3R5bGU9ImZvbnQtc2l6ZTogMi41cmVtOyBsaW5lLWhlaWdodDogMC42OyBtYXJnaW4tdG9wOiAw
LjhyZW0iPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5n
IGVsaXQuIEN1cmFiaXR1ciBzYXBpZW4gc2FwaWVuLCB0ZW1wdXMgaWQgZWdlc3RhcyBhLCBjb25z
ZWN0ZXR1ciBldCBmZWxpcy4gVXQgcGhhcmV0cmEgbWkgZWdldCBsZWN0dXMgbGFvcmVldCBydXRy
dW0uIE1hdXJpcyB0ZWxsdXMgb2RpbywgZWdlc3RhcyB2aXRhZSBzb2RhbGVzIGluLCB2ZWhpY3Vs
YSBlZ2V0IGFudGUuIFBlbGxlbnRlc3F1ZSBpZCBlZ2VzdGFzIGFyY3UuIFF1aXNxdWUgdGVsbHVz
IHF1YW0sIHJob25jdXMgYWMgZWxlbWVudHVtIHZlbCwgdm9sdXRwYXQgdmVsIGZlbGlzLiBBbGlx
dWFtIHV0IGxlbyBkb2xvciwgZWdldCBlZ2VzdGFzIHRlbGx1cy4gTnVuYyB1dCB2ZWxpdCBncmF2
aWRhIG5pc2wgZnJpbmdpbGxhIHJ1dHJ1bSBlZ2V0IGF0IGFyY3UuIFZpdmFtdXMgZXQgcHJldGl1
bSBtYXVyaXMuPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3RleHQtYXV0b3NpemluZy9zaW1wbGUtcGFyYWdyYXBoLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQtYXV0b3NpemluZy9zaW1wbGUtcGFyYWdyYXBoLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzA4MGQ0Njc5ZmNlZmQxNDExNDQ5YjI1NWUyNzg0MjEyNTBiZTRhMgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3NpbXBsZS1wYXJhZ3JhcGguaHRt
bApAQCAtMCwwICsxLDI0IEBACis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsg
d2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgz
MjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2Fybikgewor
ICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3Npemlu
ZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFu
dWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2
aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3Ig
ZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3Nj
cmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxwIHN0eWxlPSJsaW5lLWhlaWdodDogMS41Ij5M
b3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBD
dXJhYml0dXIgc2FwaWVuIHNhcGllbiwgdGVtcHVzIGlkIGVnZXN0YXMgYSwgY29uc2VjdGV0dXIg
ZXQgZmVsaXMuIFV0IHBoYXJldHJhIG1pIGVnZXQgbGVjdHVzIGxhb3JlZXQgcnV0cnVtLiBNYXVy
aXMgdGVsbHVzIG9kaW8sIGVnZXN0YXMgdml0YWUgc29kYWxlcyBpbiwgdmVoaWN1bGEgZWdldCBh
bnRlLiBQZWxsZW50ZXNxdWUgaWQgZWdlc3RhcyBhcmN1LiBRdWlzcXVlIHRlbGx1cyBxdWFtLCBy
aG9uY3VzIGFjIGVsZW1lbnR1bSB2ZWwsIHZvbHV0cGF0IHZlbCBmZWxpcy4gQWxpcXVhbSB1dCBs
ZW8gZG9sb3IsIGVnZXQgZWdlc3RhcyB0ZWxsdXMuIE51bmMgdXQgdmVsaXQgZ3JhdmlkYSBuaXNs
IGZyaW5naWxsYSBydXRydW0gZWdldCBhdCBhcmN1LiBWaXZhbXVzIGV0IHByZXRpdW0gbWF1cmlz
LjwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCAyYTJjZTEwYjg3MjU4YzM3Y2I0NDdmY2RiY2UyZDVjYzZiYjViNDJh
Li42YzFiZTNiYzZmM2M3NzdhZTcwMzQzYzkzZWRmYjI4NzBhOTkwNzgxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTMyLDYgKzEzMiw5IEBAIEJVR1dL
ODc5MDggU0tJUCA6IGVkaXRpbmcvdW5kb21hbmFnZXIgPSBQQVNTCiAvLyBEaXNhYmxlIHdlYmF1
ZGlvIGNvZGVjIHRlc3RzLCBpbmNsdWRpbmcgcHJvcHJpZXRhcnkgY29kZWNzLgogQlVHV0s4ODc5
NCBTS0lQIDogd2ViYXVkaW8vY29kZWMtdGVzdHMgPSBQQVNTCiAKKy8vIFRleHQgQXV0b3Npemlu
ZyBpcyBub3QgeWV0IGVuYWJsZWQuCitCVUdXSzg0MTg2IFNLSVAgOiBmYXN0L3RleHQtYXV0b3Np
emluZyA9IFBBU1MKKwogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAvLyBDUkFT
SEVTCiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMjljZjhhNzhmNzkxYzEwMWYyOWUwMWE5OWJk
Y2I2NmI1M2UwNDljMi4uMmJhYmJiYWM3MTIwNWQ0ZTVmZTZiZjY5ZjVjNGNjNjIyYTEzMjM1NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM0Miw2ICsz
NDIsOSBAQCBCVUdXSzMxNTA4IFNLSVAgOiBzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNj
ZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bQogLy8gRGlzYWJsZSB3ZWJhdWRpbyBjb2Rl
YyB0ZXN0cywgaW5jbHVkaW5nIHByb3ByaWV0YXJ5IGNvZGVjcy4KIEJVR1dLODg3OTQgU0tJUCA6
IHdlYmF1ZGlvL2NvZGVjLXRlc3RzID0gUEFTUwogCisvLyBUZXh0IEF1dG9zaXppbmcgaXMgbm90
IHlldCBlbmFibGVkLgorQlVHV0s4NDE4NiBTS0lQIDogZmFzdC90ZXh0LWF1dG9zaXppbmcgPSBQ
QVNTCisKIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogLy8gRW5kIG9mIEV4cGVj
dGVkIGZhaWx1cmVzCiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZDI5NmY2MTdmZTVhNTJiYmNj
ZWY2NjJkMzM0M2Y0OTczNjUxNjgwMC4uYTRlY2ZlOWZiMzNmODk2NGEwMTQ0YmM4ZmIxNmFlNzMw
ZmEyOTQyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTI4NiwzICsyODYsNiBAQCBCVUdXSzkwMDA3IDogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENv
bnRlbnQvaW5zZWN1cmUtYXVkaW8tdmlkZW8taW4tbWFpbi1mcmFtZQogQlVHV0s4ODE3MSA6IGZh
c3QvYmxvY2svZmxvYXQvaW5kZXBlbmRlbnQtYWxpZ24tcG9zaXRpb25pbmcuaHRtbCA9IFRFWFQK
IEJVR1dLODgxNzEgOiBmYXN0L2Jsb2NrL2Zsb2F0LzAxMC5odG1sID0gVEVYVAogQlVHV0s4ODE3
MSA6IGNzczEvZm9ybWF0dGluZ19tb2RlbC9mbG9hdGluZ19lbGVtZW50cy5odG1sID0gVEVYVAor
CisvLyBUZXh0IEF1dG9zaXppbmcgaXMgbm90IGVuYWJsZWQuCitCVUdXSzg0MTg2IFNLSVAgOiBm
YXN0L3RleHQtYXV0b3NpemluZyA9IFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IDIwOTM3YTBjOTg3YmE0MTdlY2NmNzFlNDJhYjUyNGRiYzc5YWYxOWQu
LjExZGVjZGI3NjIyNGFjMjRiY2MzYWYwMGJjMTQzZTQ0YzVjMjM5YjYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTA2LDMgKzEwNiw2IEBAIEJVR1dLOTAw
MDcgOiBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1hdWRpby12aWRl
by1pbi1tYWluLWZyYW1lCiAvLyBSZXF1aXJlIHJlYmFzZWxpbmUgYWZ0ZXIgYnVnIDg4MTcxCiBC
VUdXSzg4MTcxIDogZmFzdC9ibG9jay9mbG9hdC8wMTAuaHRtbCA9IFRFWFQKIEJVR1dLODgxNzEg
OiBjc3MxL2Zvcm1hdHRpbmdfbW9kZWwvZmxvYXRpbmdfZWxlbWVudHMuaHRtbCA9IFRFWFQKKwor
Ly8gVGV4dCBBdXRvc2l6aW5nIGlzIG5vdCBlbmFibGVkLgorQlVHV0s4NDE4NiBTS0lQIDogZmFz
dC90ZXh0LWF1dG9zaXppbmcgPSBQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IGQ5
ZmYzYWQ3MzcxNTI5YTAxZDM4YmYxZDViN2ExMWY5NmYyNjMwMGEuLmI0YWJkMGNkN2I5YWE5MDI0
Y2E4MGNhMzRkZjYyMzg3NjMyZGJlM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0x
Mjg2LDYgKzEyODYsOSBAQCBmdWxsc2NyZWVuLwogIyB2aWV3cG9ydCBtZXRhIHRhZyBzdXBwb3J0
CiBmYXN0L3ZpZXdwb3J0CiAKKyMgVGV4dCBBdXRvc2l6aW5nIGlzIG5vdCBlbmFibGVkIChodHRw
Oi8vd2Via2l0Lm9yZy9iLzg0MTg2KS4KK2Zhc3QvdGV4dC1hdXRvc2l6aW5nCisKICMgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1OTgzCiBtZWRpYS9tZWRpYS1jYW4t
cGxheS1tcGVnNC12aWRlby5odG1sCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbmNhaXJvL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVk
CmluZGV4IDZmOGVlZjYwYzlmYzk3NTliNmQyOThiZTNjYzVhYjQ4ODY2NDU5NzkuLmU4ZmE3N2Rl
MTIzZTk1MWNkYjQ1OWJlYzc1M2IxYmI2Mjg5MWI5ZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
Y2Fpcm8vU2tpcHBlZApAQCAtMTc5NCw2ICsxNzk0LDkgQEAgZnVsbHNjcmVlbi8KICMgdmlld3Bv
cnQgbWV0YSB0YWcgc3VwcG9ydAogZmFzdC92aWV3cG9ydAogCisjIFRleHQgQXV0b3NpemluZyBp
cyBub3QgZW5hYmxlZCAoaHR0cDovL3dlYmtpdC5vcmcvYi84NDE4NikuCitmYXN0L3RleHQtYXV0
b3NpemluZworCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTk4
MwogbWVkaWEvbWVkaWEtY2FuLXBsYXktbXBlZzQtdmlkZW8uaHRtbAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dr
Mi9Ta2lwcGVkCmluZGV4IGU0OTNlMGE4MGQ5YjM4ZDllNDAyNDEzYWJhNmU5MmY4YzhiOTcwZDQu
Ljc5Y2JlMWQ4OWE0ZGE3NzdlN2Q5MjNhZmFlMWNiMTA5MWU0NmM0NGIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3drMi9Ta2lwcGVkCkBAIC04MTIsNiArODEyLDEwIEBAIGluc3BlY3Rvci9zdHlsZXMvb3ZlcnJp
ZGUtc2NyZWVuLXNpemUuaHRtbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODYwMDAKIGh0dHAvdGVzdHMvc2VjdXJpdHkvcmVmZXJyZXItcG9saWN5LXJlZGlyZWN0
LWxpbmsuaHRtbAogCisjIFRleHQgQXV0b3NpemluZyBpcyBub3QgeWV0IGVuYWJsZWQuCisjIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDE4NgorZmFzdC90ZXh0LWF1
dG9zaXppbmcKKwogIyMjIEVORCBPRiAoMSkgQ2xhc3NpZmllZCBmYWlsdXJlcyB3aXRoIGJ1ZyBy
ZXBvcnRzCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>