<?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>74880</bug_id>
          
          <creation_ts>2011-12-19 12:45:20 -0800</creation_ts>
          <short_desc>RenderStyle::InheritedFlags and RenderStyle::NonInheritedFlags members should be 4 byte aligned</short_desc>
          <delta_ts>2019-05-02 16:18:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>74876</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Chang">tony</reporter>
          <assigned_to name="Tony Chang">tony</assigned_to>
          <cc>anikacrockett74</cc>
    
    <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>524126</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-19 12:45:20 -0800</bug_when>
    <thetext>RenderStyle::InheritedFlags and RenderStyle::NonInheritedFlags members should be 4 byte aligned</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524127</commentid>
    <comment_count>1</comment_count>
      <attachid>119905</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-19 12:50:35 -0800</bug_when>
    <thetext>Created attachment 119905
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524128</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-19 12:53:20 -0800</bug_when>
    <thetext>Attachment 119905 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Last 3072 characters of output:
ring/style/RenderStyle.h:248:  _effectiveDisplay is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:249:  _originalDisplay is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:250:  _overflowX is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:251:  _overflowY is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:252:  _vertical_align is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:253:  _clear is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:254:  _position is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:255:  _floating is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:256:  _table_layout is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:258:  _unicodeBidi is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:259:  _page_break_before is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:261:  _page_break_after is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:262:  _page_break_inside is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:264:  _styleType is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:265:  _pseudoBits is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:276:  _affectedByHover is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:277:  _affectedByActive is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:278:  _affectedByDrag is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:279:  _isLink is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 33 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524130</commentid>
    <comment_count>3</comment_count>
      <attachid>119905</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-12-19 12:57:07 -0800</bug_when>
    <thetext>Comment on attachment 119905
Patch

Attachment 119905 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10945041</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524143</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-19 13:31:37 -0800</bug_when>
    <thetext>Interesting. Maybe we need more fixing on Qt:

../../../../Source/WebCore/rendering/style/RenderStyle.cpp:66: error: size of array &apos;dummyRenderStyle_should_stay_small&apos; is negative
distcc[19705] ERROR: compile ../../../../Source/WebCore/rendering/style/RenderStyle.cpp on localhost failed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524146</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-19 13:35:23 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Interesting. Maybe we need more fixing on Qt:
&gt; 
&gt; ../../../../Source/WebCore/rendering/style/RenderStyle.cpp:66: error: size of array &apos;dummyRenderStyle_should_stay_small&apos; is negative
&gt; distcc[19705] ERROR: compile ../../../../Source/WebCore/rendering/style/RenderStyle.cpp on localhost failed

Yeah, I&apos;m trying to build WebKit QT to check.  It also might be an 32/64 architecture difference (I&apos;m testing on 64).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524269</commentid>
    <comment_count>6</comment_count>
      <attachid>119943</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-19 16:27:35 -0800</bug_when>
    <thetext>Created attachment 119943
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524270</commentid>
    <comment_count>7</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-19 16:28:47 -0800</bug_when>
    <thetext>It was failing on 32 bit builds because SameSizeAsRenderStyle wasn&apos;t RefCounted.  I think this patch will compile on qt (must be a 32 bit machine) and in debug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524273</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-19 16:30:14 -0800</bug_when>
    <thetext>Attachment 119943 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Last 3072 characters of output:
ring/style/RenderStyle.h:248:  _effectiveDisplay is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:249:  _originalDisplay is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:250:  _overflowX is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:251:  _overflowY is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:252:  _vertical_align is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:253:  _clear is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:254:  _position is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:255:  _floating is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:256:  _table_layout is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:258:  _unicodeBidi is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:259:  _page_break_before is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:261:  _page_break_after is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:262:  _page_break_inside is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:264:  _styleType is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:265:  _pseudoBits is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:276:  _affectedByHover is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:277:  _affectedByActive is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:278:  _affectedByDrag is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/rendering/style/RenderStyle.h:279:  _isLink is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 33 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524652</commentid>
    <comment_count>9</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-20 09:31:48 -0800</bug_when>
    <thetext>Committed r103337: &lt;http://trac.webkit.org/changeset/103337&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119905</attachid>
            <date>2011-12-19 12:50:35 -0800</date>
            <delta_ts>2011-12-19 16:27:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74880-20111219125052.patch</filename>
            <type>text/plain</type>
            <size>14143</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTM3ZTMzNDVhMzJkZTFm
MTYxNjU2MjQzZTllNDJiZmE5MmEyYmM0MS4uOGFiOGVlMTRiM2FkMDJkM2E4MDdhMjdiNTZkODk4
OGE1OWY1YjRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDExLTEyLTE5ICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVuZGVyU3R5bGU6OkluaGVy
aXRlZEZsYWdzIGFuZCBSZW5kZXJTdHlsZTo6Tm9uSW5oZXJpdGVkRmxhZ3MgbWVtYmVycyBzaG91
bGQgYmUgNCBieXRlIGFsaWduZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc0ODgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVXNlIHVuc2lnbmVkIGZvciBhbGwgdHlwZXMgc28gd2UgZ2V0IDQgYnl0ZSBi
b3VuZGFyaWVzICh1bnNpZ25lZCBjaGFyCisgICAgICAgIG1lYW5zIHdlIHRyeSB0byBhbGlnbiB0
byAxIGJ5dGUgYm91bmRhcmllcykgYW5kIGFkZCBzZXR0ZXJzIGFuZAorICAgICAgICBnZXR0ZXJz
IGZvciBib29sIG1lbWJlcnMuCisKKyAgICAgICAgTW92ZSBzb21lIG1lbWJlcnMgYXJvdW5kIHRv
IG1ha2Ugc3VyZSB3ZSdyZSBhbGlnbmVkIHRvIDQgYnl0ZSBib3VuZGFyaWVzLgorCisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclN0eWxlOjpjb3B5Tm9uSW5oZXJpdGVkRnJvbSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6Tm9u
SW5oZXJpdGVkRmxhZ3M6OmFmZmVjdGVkQnlIb3Zlcik6CisgICAgICAgIChXZWJDb3JlOjpJbmhl
cml0ZWRGbGFnczo6Tm9uSW5oZXJpdGVkRmxhZ3M6OnNldEFmZmVjdGVkQnlIb3Zlcik6CisgICAg
ICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6Tm9uSW5oZXJpdGVkRmxhZ3M6OmFmZmVjdGVk
QnlBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6Ok5vbkluaGVyaXRl
ZEZsYWdzOjpzZXRBZmZlY3RlZEJ5QWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRl
ZEZsYWdzOjpOb25Jbmhlcml0ZWRGbGFnczo6YWZmZWN0ZWRCeURyYWcpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5oZXJpdGVkRmxhZ3M6Ok5vbkluaGVyaXRlZEZsYWdzOjpzZXRBZmZlY3RlZEJ5RHJh
Zyk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6Tm9uSW5oZXJpdGVkRmxhZ3M6
OmlzTGluayk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6Tm9uSW5oZXJpdGVk
RmxhZ3M6OnNldElzTGluayk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6c2V0
Qml0RGVmYXVsdHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmFmZmVjdGVk
QnlIb3ZlclJ1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjphZmZlY3Rl
ZEJ5QWN0aXZlUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmFmZmVj
dGVkQnlEcmFnUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldEFm
ZmVjdGVkQnlIb3ZlclJ1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpz
ZXRBZmZlY3RlZEJ5QWN0aXZlUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxh
Z3M6OnNldEFmZmVjdGVkQnlEcmFnUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVk
RmxhZ3M6OmlzTGluayk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6c2V0SXNM
aW5rKToKKwogMjAxMS0xMi0xNiAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAg
ICAgICAgTWlzY2VsbGFuZW91cyBGaWx0ZXIgdXBkYXRlcyB0byBhbGlnbiB3aXRoIHNwZWMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IDRh
MWE1NmFiNmFlMDZjMzVmNWE5MGU3MWIyMjViYTUxMTIwMDI5ZjUuLjQxM2NlNGI4OTIzNzNkZTg5
OWM3YWM1MDM3MjJkZjQwZmQ1M2Y4OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmNwcApAQCAtNDQsNiArNDQsMjggQEAgdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdHJ1Y3QgU2FtZVNpemVBc1JlbmRlclN0
eWxlIHsKKyAgICB1bnNpZ25lZCBtX2JpdGZpZWxkczsKKworICAgIHZvaWQqIGRhdGFSZWZzWzdd
OworICAgIHZvaWQqIG93blB0cnNbMV07CisjaWYgRU5BQkxFKFNWRykKKyAgICB2b2lkKiBkYXRh
UmVmU3ZnU3R5bGU7CisjZW5kaWYKKyAgICBzdHJ1Y3QgSW5oZXJpdGVkRmxhZ3MgeworICAgICAg
ICB1bnNpZ25lZCBjaGFyIG1fYml0ZmllbGRzWzddOworICAgIH0gaW5oZXJpdGVkX2ZsYWdzOwor
CisgICAgc3RydWN0IE5vbkluaGVyaXRlZEZsYWdzIHsKKyAgICAgICAgdW5zaWduZWQgY2hhciBt
X2JpdGZpZWxkc1s4XTsKKyAgICB9IG5vbmluaGVyaXRlZF9mbGFnczsKK307CisKKy8vIEZJWE1F
OiBFbmFibGUgYXNzZXJ0IG9uIFdpbmRvd3MuIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03NDg3NgorI2lmICFPUyhXSU5ET1dTKQorQ09NUElMRV9BU1NFUlQoc2l6ZW9m
KFJlbmRlclN0eWxlKSA9PSBzaXplb2YoU2FtZVNpemVBc1JlbmRlclN0eWxlKSwgUmVuZGVyU3R5
bGVfc2hvdWxkX3N0YXlfc21hbGwpOworI2VuZGlmCisKIGlubGluZSBSZW5kZXJTdHlsZSogZGVm
YXVsdFN0eWxlKCkKIHsKICAgICBzdGF0aWMgUmVuZGVyU3R5bGUqIHNfZGVmYXVsdFN0eWxlID0g
UmVuZGVyU3R5bGU6OmNyZWF0ZURlZmF1bHRTdHlsZSgpLmxlYWtSZWYoKTsKQEAgLTIwMiwxMCAr
MjI0LDEwIEBAIHZvaWQgUmVuZGVyU3R5bGU6OmNvcHlOb25Jbmhlcml0ZWRGcm9tKGNvbnN0IFJl
bmRlclN0eWxlKiBvdGhlcikKICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX3Bvc2l0aW9uID0gb3Ro
ZXItPm5vbmluaGVyaXRlZF9mbGFncy5fcG9zaXRpb247CiAgICAgbm9uaW5oZXJpdGVkX2ZsYWdz
Ll9mbG9hdGluZyA9IG90aGVyLT5ub25pbmhlcml0ZWRfZmxhZ3MuX2Zsb2F0aW5nOwogICAgIG5v
bmluaGVyaXRlZF9mbGFncy5fdGFibGVfbGF5b3V0ID0gb3RoZXItPm5vbmluaGVyaXRlZF9mbGFn
cy5fdGFibGVfbGF5b3V0OworICAgIG5vbmluaGVyaXRlZF9mbGFncy5fdW5pY29kZUJpZGkgPSBv
dGhlci0+bm9uaW5oZXJpdGVkX2ZsYWdzLl91bmljb2RlQmlkaTsKICAgICBub25pbmhlcml0ZWRf
ZmxhZ3MuX3BhZ2VfYnJlYWtfYmVmb3JlID0gb3RoZXItPm5vbmluaGVyaXRlZF9mbGFncy5fcGFn
ZV9icmVha19iZWZvcmU7CiAgICAgbm9uaW5oZXJpdGVkX2ZsYWdzLl9wYWdlX2JyZWFrX2FmdGVy
ID0gb3RoZXItPm5vbmluaGVyaXRlZF9mbGFncy5fcGFnZV9icmVha19hZnRlcjsKICAgICBub25p
bmhlcml0ZWRfZmxhZ3MuX3BhZ2VfYnJlYWtfaW5zaWRlID0gb3RoZXItPm5vbmluaGVyaXRlZF9m
bGFncy5fcGFnZV9icmVha19pbnNpZGU7Ci0gICAgbm9uaW5oZXJpdGVkX2ZsYWdzLl91bmljb2Rl
QmlkaSA9IG90aGVyLT5ub25pbmhlcml0ZWRfZmxhZ3MuX3VuaWNvZGVCaWRpOwogI2lmIEVOQUJM
RShTVkcpCiAgICAgaWYgKG1fc3ZnU3R5bGUgIT0gb3RoZXItPm1fc3ZnU3R5bGUpCiAgICAgICAg
IG1fc3ZnU3R5bGUuYWNjZXNzKCktPmNvcHlOb25Jbmhlcml0ZWRGcm9tKG90aGVyLT5tX3N2Z1N0
eWxlLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmgKaW5kZXggZDVkZjUwYTc1YWY3ZTcwMDcxNGY3MDIyYmJiMGYxNmFjNGQ1MmIxMS4uNzVkNGVm
NTA2YWY5MGIxMTIyYTRiZjRjNzFkYWQxNGRiMWQ1ZmMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTE3OSw4ICsxNzksOCBAQCBwcm90ZWN0
ZWQ6CiAgICAgICAgICAgICAgICAgJiYgKF90ZXh0X2RlY29yYXRpb25zID09IG90aGVyLl90ZXh0
X2RlY29yYXRpb25zKQogICAgICAgICAgICAgICAgICYmIChfY3Vyc29yX3N0eWxlID09IG90aGVy
Ll9jdXJzb3Jfc3R5bGUpCiAgICAgICAgICAgICAgICAgJiYgKF9kaXJlY3Rpb24gPT0gb3RoZXIu
X2RpcmVjdGlvbikKLSAgICAgICAgICAgICAgICAmJiAoX2JvcmRlcl9jb2xsYXBzZSA9PSBvdGhl
ci5fYm9yZGVyX2NvbGxhcHNlKQogICAgICAgICAgICAgICAgICYmIChfd2hpdGVfc3BhY2UgPT0g
b3RoZXIuX3doaXRlX3NwYWNlKQorICAgICAgICAgICAgICAgICYmIChfYm9yZGVyX2NvbGxhcHNl
ID09IG90aGVyLl9ib3JkZXJfY29sbGFwc2UpCiAgICAgICAgICAgICAgICAgJiYgKF9ib3hfZGly
ZWN0aW9uID09IG90aGVyLl9ib3hfZGlyZWN0aW9uKQogICAgICAgICAgICAgICAgICYmIChtX3J0
bE9yZGVyaW5nID09IG90aGVyLm1fcnRsT3JkZXJpbmcpCiAgICAgICAgICAgICAgICAgJiYgKG1f
cHJpbnRDb2xvckFkanVzdCA9PSBvdGhlci5tX3ByaW50Q29sb3JBZGp1c3QpCkBAIC0xOTEsMzAg
KzE5MSwzMCBAQCBwcm90ZWN0ZWQ6CiAKICAgICAgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IElu
aGVyaXRlZEZsYWdzJiBvdGhlcikgY29uc3QgeyByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7IH0K
IAotICAgICAgICB1bnNpZ25lZCBjaGFyIF9lbXB0eV9jZWxscyA6IDE7IC8vIEVFbXB0eUNlbGwK
LSAgICAgICAgdW5zaWduZWQgY2hhciBfY2FwdGlvbl9zaWRlIDogMjsgLy8gRUNhcHRpb25TaWRl
Ci0gICAgICAgIHVuc2lnbmVkIGNoYXIgX2xpc3Rfc3R5bGVfdHlwZSA6IDc7IC8vIEVMaXN0U3R5
bGVUeXBlCi0gICAgICAgIHVuc2lnbmVkIGNoYXIgX2xpc3Rfc3R5bGVfcG9zaXRpb24gOiAxOyAv
LyBFTGlzdFN0eWxlUG9zaXRpb24KLSAgICAgICAgdW5zaWduZWQgY2hhciBfdmlzaWJpbGl0eSA6
IDI7IC8vIEVWaXNpYmlsaXR5Ci0gICAgICAgIHVuc2lnbmVkIGNoYXIgX3RleHRfYWxpZ24gOiA0
OyAvLyBFVGV4dEFsaWduCi0gICAgICAgIHVuc2lnbmVkIGNoYXIgX3RleHRfdHJhbnNmb3JtIDog
MjsgLy8gRVRleHRUcmFuc2Zvcm0KLSAgICAgICAgdW5zaWduZWQgY2hhciBfdGV4dF9kZWNvcmF0
aW9ucyA6IEVUZXh0RGVjb3JhdGlvbkJpdHM7Ci0gICAgICAgIHVuc2lnbmVkIGNoYXIgX2N1cnNv
cl9zdHlsZSA6IDY7IC8vIEVDdXJzb3IKLSAgICAgICAgdW5zaWduZWQgY2hhciBfZGlyZWN0aW9u
IDogMTsgLy8gVGV4dERpcmVjdGlvbgotICAgICAgICB1bnNpZ25lZCBjaGFyIF9ib3JkZXJfY29s
bGFwc2UgOiAxOyAvLyBFQm9yZGVyQ29sbGFwc2UKLSAgICAgICAgdW5zaWduZWQgY2hhciBfd2hp
dGVfc3BhY2UgOiAzOyAvLyBFV2hpdGVTcGFjZQotICAgICAgICB1bnNpZ25lZCBjaGFyIF9ib3hf
ZGlyZWN0aW9uIDogMTsgLy8gRUJveERpcmVjdGlvbiAoQ1NTMyBib3hfZGlyZWN0aW9uIHByb3Bl
cnR5LCBmbGV4aWJsZSBib3ggbGF5b3V0IG1vZHVsZSkKLSAgICAgICAgLy8gMzQgYml0cworICAg
ICAgICB1bnNpZ25lZCBfZW1wdHlfY2VsbHMgOiAxOyAvLyBFRW1wdHlDZWxsCisgICAgICAgIHVu
c2lnbmVkIF9jYXB0aW9uX3NpZGUgOiAyOyAvLyBFQ2FwdGlvblNpZGUKKyAgICAgICAgdW5zaWdu
ZWQgX2xpc3Rfc3R5bGVfdHlwZSA6IDc7IC8vIEVMaXN0U3R5bGVUeXBlCisgICAgICAgIHVuc2ln
bmVkIF9saXN0X3N0eWxlX3Bvc2l0aW9uIDogMTsgLy8gRUxpc3RTdHlsZVBvc2l0aW9uCisgICAg
ICAgIHVuc2lnbmVkIF92aXNpYmlsaXR5IDogMjsgLy8gRVZpc2liaWxpdHkKKyAgICAgICAgdW5z
aWduZWQgX3RleHRfYWxpZ24gOiA0OyAvLyBFVGV4dEFsaWduCisgICAgICAgIHVuc2lnbmVkIF90
ZXh0X3RyYW5zZm9ybSA6IDI7IC8vIEVUZXh0VHJhbnNmb3JtCisgICAgICAgIHVuc2lnbmVkIF90
ZXh0X2RlY29yYXRpb25zIDogRVRleHREZWNvcmF0aW9uQml0czsKKyAgICAgICAgdW5zaWduZWQg
X2N1cnNvcl9zdHlsZSA6IDY7IC8vIEVDdXJzb3IKKyAgICAgICAgdW5zaWduZWQgX2RpcmVjdGlv
biA6IDE7IC8vIFRleHREaXJlY3Rpb24KKyAgICAgICAgdW5zaWduZWQgX3doaXRlX3NwYWNlIDog
MzsgLy8gRVdoaXRlU3BhY2UKKyAgICAgICAgLy8gMzIgYml0cworICAgICAgICB1bnNpZ25lZCBf
Ym9yZGVyX2NvbGxhcHNlIDogMTsgLy8gRUJvcmRlckNvbGxhcHNlCisgICAgICAgIHVuc2lnbmVk
IF9ib3hfZGlyZWN0aW9uIDogMTsgLy8gRUJveERpcmVjdGlvbiAoQ1NTMyBib3hfZGlyZWN0aW9u
IHByb3BlcnR5LCBmbGV4aWJsZSBib3ggbGF5b3V0IG1vZHVsZSkKIAogICAgICAgICAvLyBub24g
Q1NTMiBpbmhlcml0ZWQKLSAgICAgICAgdW5zaWduZWQgY2hhciBtX3J0bE9yZGVyaW5nIDogMTsg
Ly8gT3JkZXIKLSAgICAgICAgdW5zaWduZWQgY2hhciBtX3ByaW50Q29sb3JBZGp1c3QgOiBQcmlu
dENvbG9yQWRqdXN0Qml0czsKLSAgICAgICAgdW5zaWduZWQgY2hhciBfcG9pbnRlckV2ZW50cyA6
IDQ7IC8vIEVQb2ludGVyRXZlbnRzCi0gICAgICAgIHVuc2lnbmVkIGNoYXIgX2luc2lkZUxpbmsg
OiAyOyAvLyBFSW5zaWRlTGluaworICAgICAgICB1bnNpZ25lZCBtX3J0bE9yZGVyaW5nIDogMTsg
Ly8gT3JkZXIKKyAgICAgICAgdW5zaWduZWQgbV9wcmludENvbG9yQWRqdXN0IDogUHJpbnRDb2xv
ckFkanVzdEJpdHM7CisgICAgICAgIHVuc2lnbmVkIF9wb2ludGVyRXZlbnRzIDogNDsgLy8gRVBv
aW50ZXJFdmVudHMKKyAgICAgICAgdW5zaWduZWQgX2luc2lkZUxpbmsgOiAyOyAvLyBFSW5zaWRl
TGluawogICAgICAgICAvLyA0MyBiaXRzCiAKICAgICAgICAgLy8gQ1NTIFRleHQgTGF5b3V0IE1v
ZHVsZSBMZXZlbCAzOiBWZXJ0aWNhbCB3cml0aW5nIHN1cHBvcnQKLSAgICAgICAgdW5zaWduZWQg
Y2hhciBtX3dyaXRpbmdNb2RlIDogMjsgLy8gV3JpdGluZ01vZGUKKyAgICAgICAgdW5zaWduZWQg
bV93cml0aW5nTW9kZSA6IDI7IC8vIFdyaXRpbmdNb2RlCiAgICAgICAgIC8vIDQ1IGJpdHMKICAg
ICB9IGluaGVyaXRlZF9mbGFnczsKIApAQCAtMjQ1LDI3ICsyNDUsMzggQEAgcHJvdGVjdGVkOgog
CiAgICAgICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBOb25Jbmhlcml0ZWRGbGFncyYgb3RoZXIp
IGNvbnN0IHsgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOyB9CiAKLSAgICAgICAgdW5zaWduZWQg
Y2hhciBfZWZmZWN0aXZlRGlzcGxheSA6IDU7IC8vIEVEaXNwbGF5Ci0gICAgICAgIHVuc2lnbmVk
IGNoYXIgX29yaWdpbmFsRGlzcGxheSA6IDU7IC8vIEVEaXNwbGF5Ci0gICAgICAgIHVuc2lnbmVk
IGNoYXIgX292ZXJmbG93WCA6IDM7IC8vIEVPdmVyZmxvdwotICAgICAgICB1bnNpZ25lZCBjaGFy
IF9vdmVyZmxvd1kgOiAzOyAvLyBFT3ZlcmZsb3cKLSAgICAgICAgdW5zaWduZWQgY2hhciBfdmVy
dGljYWxfYWxpZ24gOiA0OyAvLyBFVmVydGljYWxBbGlnbgotICAgICAgICB1bnNpZ25lZCBjaGFy
IF9jbGVhciA6IDI7IC8vIEVDbGVhcgotICAgICAgICB1bnNpZ25lZCBjaGFyIF9wb3NpdGlvbiA6
IDI7IC8vIEVQb3NpdGlvbgotICAgICAgICB1bnNpZ25lZCBjaGFyIF9mbG9hdGluZyA6IDI7IC8v
IEVGbG9hdAotICAgICAgICB1bnNpZ25lZCBjaGFyIF90YWJsZV9sYXlvdXQgOiAxOyAvLyBFVGFi
bGVMYXlvdXQKLQotICAgICAgICB1bnNpZ25lZCBjaGFyIF9wYWdlX2JyZWFrX2JlZm9yZSA6IDI7
IC8vIEVQYWdlQnJlYWsKLSAgICAgICAgdW5zaWduZWQgY2hhciBfcGFnZV9icmVha19hZnRlciA6
IDI7IC8vIEVQYWdlQnJlYWsKLSAgICAgICAgdW5zaWduZWQgY2hhciBfcGFnZV9icmVha19pbnNp
ZGUgOiAyOyAvLyBFUGFnZUJyZWFrCi0KLSAgICAgICAgdW5zaWduZWQgY2hhciBfc3R5bGVUeXBl
IDogNjsgLy8gUHNldWRvSWQKLSAgICAgICAgYm9vbCBfYWZmZWN0ZWRCeUhvdmVyIDogMTsKLSAg
ICAgICAgYm9vbCBfYWZmZWN0ZWRCeUFjdGl2ZSA6IDE7Ci0gICAgICAgIGJvb2wgX2FmZmVjdGVk
QnlEcmFnIDogMTsKLSAgICAgICAgdW5zaWduZWQgY2hhciBfcHNldWRvQml0cyA6IDc7Ci0gICAg
ICAgIHVuc2lnbmVkIGNoYXIgX3VuaWNvZGVCaWRpIDogMzsgLy8gRVVuaWNvZGVCaWRpCi0gICAg
ICAgIGJvb2wgX2lzTGluayA6IDE7CisgICAgICAgIHVuc2lnbmVkIF9lZmZlY3RpdmVEaXNwbGF5
IDogNTsgLy8gRURpc3BsYXkKKyAgICAgICAgdW5zaWduZWQgX29yaWdpbmFsRGlzcGxheSA6IDU7
IC8vIEVEaXNwbGF5CisgICAgICAgIHVuc2lnbmVkIF9vdmVyZmxvd1ggOiAzOyAvLyBFT3ZlcmZs
b3cKKyAgICAgICAgdW5zaWduZWQgX292ZXJmbG93WSA6IDM7IC8vIEVPdmVyZmxvdworICAgICAg
ICB1bnNpZ25lZCBfdmVydGljYWxfYWxpZ24gOiA0OyAvLyBFVmVydGljYWxBbGlnbgorICAgICAg
ICB1bnNpZ25lZCBfY2xlYXIgOiAyOyAvLyBFQ2xlYXIKKyAgICAgICAgdW5zaWduZWQgX3Bvc2l0
aW9uIDogMjsgLy8gRVBvc2l0aW9uCisgICAgICAgIHVuc2lnbmVkIF9mbG9hdGluZyA6IDI7IC8v
IEVGbG9hdAorICAgICAgICB1bnNpZ25lZCBfdGFibGVfbGF5b3V0IDogMTsgLy8gRVRhYmxlTGF5
b3V0CisKKyAgICAgICAgdW5zaWduZWQgX3VuaWNvZGVCaWRpIDogMzsgLy8gRVVuaWNvZGVCaWRp
CisgICAgICAgIHVuc2lnbmVkIF9wYWdlX2JyZWFrX2JlZm9yZSA6IDI7IC8vIEVQYWdlQnJlYWsK
KyAgICAgICAgLy8gMzIgYml0cworICAgICAgICB1bnNpZ25lZCBfcGFnZV9icmVha19hZnRlciA6
IDI7IC8vIEVQYWdlQnJlYWsKKyAgICAgICAgdW5zaWduZWQgX3BhZ2VfYnJlYWtfaW5zaWRlIDog
MjsgLy8gRVBhZ2VCcmVhaworCisgICAgICAgIHVuc2lnbmVkIF9zdHlsZVR5cGUgOiA2OyAvLyBQ
c2V1ZG9JZAorICAgICAgICB1bnNpZ25lZCBfcHNldWRvQml0cyA6IDc7CisKKyAgICAgICAgYm9v
bCBhZmZlY3RlZEJ5SG92ZXIoKSBjb25zdCB7IHJldHVybiBfYWZmZWN0ZWRCeUhvdmVyOyB9Cisg
ICAgICAgIHZvaWQgc2V0QWZmZWN0ZWRCeUhvdmVyKGJvb2wgdmFsdWUpIHsgX2FmZmVjdGVkQnlI
b3ZlciA9IHZhbHVlOyB9CisgICAgICAgIGJvb2wgYWZmZWN0ZWRCeUFjdGl2ZSgpIGNvbnN0IHsg
cmV0dXJuIF9hZmZlY3RlZEJ5QWN0aXZlOyB9CisgICAgICAgIHZvaWQgc2V0QWZmZWN0ZWRCeUFj
dGl2ZShib29sIHZhbHVlKSB7IF9hZmZlY3RlZEJ5QWN0aXZlID0gdmFsdWU7IH0KKyAgICAgICAg
Ym9vbCBhZmZlY3RlZEJ5RHJhZygpIGNvbnN0IHsgcmV0dXJuIF9hZmZlY3RlZEJ5RHJhZzsgfQor
ICAgICAgICB2b2lkIHNldEFmZmVjdGVkQnlEcmFnKGJvb2wgdmFsdWUpIHsgX2FmZmVjdGVkQnlE
cmFnID0gdmFsdWU7IH0KKyAgICAgICAgYm9vbCBpc0xpbmsoKSBjb25zdCB7IHJldHVybiBfaXNM
aW5rOyB9CisgICAgICAgIHZvaWQgc2V0SXNMaW5rKGJvb2wgdmFsdWUpIHsgX2lzTGluayA9IHZh
bHVlOyB9CisgICAgcHJpdmF0ZToKKyAgICAgICAgdW5zaWduZWQgX2FmZmVjdGVkQnlIb3ZlciA6
IDE7CisgICAgICAgIHVuc2lnbmVkIF9hZmZlY3RlZEJ5QWN0aXZlIDogMTsKKyAgICAgICAgdW5z
aWduZWQgX2FmZmVjdGVkQnlEcmFnIDogMTsKKyAgICAgICAgdW5zaWduZWQgX2lzTGluayA6IDE7
CiAgICAgICAgIC8vIElmIHlvdSBhZGQgbW9yZSBzdHlsZSBiaXRzIGhlcmUsIHlvdSB3aWxsIGFs
c28gbmVlZCB0byB1cGRhdGUgUmVuZGVyU3R5bGU6OmNvcHlOb25Jbmhlcml0ZWRGcm9tKCkKICAg
ICAgICAgLy8gNTMgYml0cwogICAgIH0gbm9uaW5oZXJpdGVkX2ZsYWdzOwpAQCAtMjg1LDggKzI5
Niw4IEBAIHByb3RlY3RlZDoKICAgICAgICAgaW5oZXJpdGVkX2ZsYWdzLl90ZXh0X2RlY29yYXRp
b25zID0gaW5pdGlhbFRleHREZWNvcmF0aW9uKCk7CiAgICAgICAgIGluaGVyaXRlZF9mbGFncy5f
Y3Vyc29yX3N0eWxlID0gaW5pdGlhbEN1cnNvcigpOwogICAgICAgICBpbmhlcml0ZWRfZmxhZ3Mu
X2RpcmVjdGlvbiA9IGluaXRpYWxEaXJlY3Rpb24oKTsKLSAgICAgICAgaW5oZXJpdGVkX2ZsYWdz
Ll9ib3JkZXJfY29sbGFwc2UgPSBpbml0aWFsQm9yZGVyQ29sbGFwc2UoKTsKICAgICAgICAgaW5o
ZXJpdGVkX2ZsYWdzLl93aGl0ZV9zcGFjZSA9IGluaXRpYWxXaGl0ZVNwYWNlKCk7CisgICAgICAg
IGluaGVyaXRlZF9mbGFncy5fYm9yZGVyX2NvbGxhcHNlID0gaW5pdGlhbEJvcmRlckNvbGxhcHNl
KCk7CiAgICAgICAgIGluaGVyaXRlZF9mbGFncy5tX3J0bE9yZGVyaW5nID0gaW5pdGlhbFJUTE9y
ZGVyaW5nKCk7CiAgICAgICAgIGluaGVyaXRlZF9mbGFncy5fYm94X2RpcmVjdGlvbiA9IGluaXRp
YWxCb3hEaXJlY3Rpb24oKTsKICAgICAgICAgaW5oZXJpdGVkX2ZsYWdzLm1fcHJpbnRDb2xvckFk
anVzdCA9IGluaXRpYWxQcmludENvbG9yQWRqdXN0KCk7CkBAIC0zMDIsMTYgKzMxMywxNiBAQCBw
cm90ZWN0ZWQ6CiAgICAgICAgIG5vbmluaGVyaXRlZF9mbGFncy5fcG9zaXRpb24gPSBpbml0aWFs
UG9zaXRpb24oKTsKICAgICAgICAgbm9uaW5oZXJpdGVkX2ZsYWdzLl9mbG9hdGluZyA9IGluaXRp
YWxGbG9hdGluZygpOwogICAgICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX3RhYmxlX2xheW91dCA9
IGluaXRpYWxUYWJsZUxheW91dCgpOworICAgICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX3VuaWNv
ZGVCaWRpID0gaW5pdGlhbFVuaWNvZGVCaWRpKCk7CiAgICAgICAgIG5vbmluaGVyaXRlZF9mbGFn
cy5fcGFnZV9icmVha19iZWZvcmUgPSBpbml0aWFsUGFnZUJyZWFrKCk7CiAgICAgICAgIG5vbmlu
aGVyaXRlZF9mbGFncy5fcGFnZV9icmVha19hZnRlciA9IGluaXRpYWxQYWdlQnJlYWsoKTsKICAg
ICAgICAgbm9uaW5oZXJpdGVkX2ZsYWdzLl9wYWdlX2JyZWFrX2luc2lkZSA9IGluaXRpYWxQYWdl
QnJlYWsoKTsKICAgICAgICAgbm9uaW5oZXJpdGVkX2ZsYWdzLl9zdHlsZVR5cGUgPSBOT1BTRVVE
TzsKLSAgICAgICAgbm9uaW5oZXJpdGVkX2ZsYWdzLl9hZmZlY3RlZEJ5SG92ZXIgPSBmYWxzZTsK
LSAgICAgICAgbm9uaW5oZXJpdGVkX2ZsYWdzLl9hZmZlY3RlZEJ5QWN0aXZlID0gZmFsc2U7Ci0g
ICAgICAgIG5vbmluaGVyaXRlZF9mbGFncy5fYWZmZWN0ZWRCeURyYWcgPSBmYWxzZTsKICAgICAg
ICAgbm9uaW5oZXJpdGVkX2ZsYWdzLl9wc2V1ZG9CaXRzID0gMDsKLSAgICAgICAgbm9uaW5oZXJp
dGVkX2ZsYWdzLl91bmljb2RlQmlkaSA9IGluaXRpYWxVbmljb2RlQmlkaSgpOwotICAgICAgICBu
b25pbmhlcml0ZWRfZmxhZ3MuX2lzTGluayA9IGZhbHNlOworICAgICAgICBub25pbmhlcml0ZWRf
ZmxhZ3Muc2V0QWZmZWN0ZWRCeUhvdmVyKGZhbHNlKTsKKyAgICAgICAgbm9uaW5oZXJpdGVkX2Zs
YWdzLnNldEFmZmVjdGVkQnlBY3RpdmUoZmFsc2UpOworICAgICAgICBub25pbmhlcml0ZWRfZmxh
Z3Muc2V0QWZmZWN0ZWRCeURyYWcoZmFsc2UpOworICAgICAgICBub25pbmhlcml0ZWRfZmxhZ3Mu
c2V0SXNMaW5rKGZhbHNlKTsKICAgICB9CiAKIHByaXZhdGU6CkBAIC0zNDAsMTMgKzM1MSwxMyBA
QCBwdWJsaWM6CiAKICAgICBjb25zdCBQc2V1ZG9TdHlsZUNhY2hlKiBjYWNoZWRQc2V1ZG9TdHls
ZXMoKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZFBzZXVkb1N0eWxlcy5nZXQoKTsgfQogCi0gICAg
Ym9vbCBhZmZlY3RlZEJ5SG92ZXJSdWxlcygpIGNvbnN0IHsgcmV0dXJuIG5vbmluaGVyaXRlZF9m
bGFncy5fYWZmZWN0ZWRCeUhvdmVyOyB9Ci0gICAgYm9vbCBhZmZlY3RlZEJ5QWN0aXZlUnVsZXMo
KSBjb25zdCB7IHJldHVybiBub25pbmhlcml0ZWRfZmxhZ3MuX2FmZmVjdGVkQnlBY3RpdmU7IH0K
LSAgICBib29sIGFmZmVjdGVkQnlEcmFnUnVsZXMoKSBjb25zdCB7IHJldHVybiBub25pbmhlcml0
ZWRfZmxhZ3MuX2FmZmVjdGVkQnlEcmFnOyB9CisgICAgYm9vbCBhZmZlY3RlZEJ5SG92ZXJSdWxl
cygpIGNvbnN0IHsgcmV0dXJuIG5vbmluaGVyaXRlZF9mbGFncy5hZmZlY3RlZEJ5SG92ZXIoKTsg
fQorICAgIGJvb2wgYWZmZWN0ZWRCeUFjdGl2ZVJ1bGVzKCkgY29uc3QgeyByZXR1cm4gbm9uaW5o
ZXJpdGVkX2ZsYWdzLmFmZmVjdGVkQnlBY3RpdmUoKTsgfQorICAgIGJvb2wgYWZmZWN0ZWRCeURy
YWdSdWxlcygpIGNvbnN0IHsgcmV0dXJuIG5vbmluaGVyaXRlZF9mbGFncy5hZmZlY3RlZEJ5RHJh
ZygpOyB9CiAKLSAgICB2b2lkIHNldEFmZmVjdGVkQnlIb3ZlclJ1bGVzKGJvb2wgYikgeyBub25p
bmhlcml0ZWRfZmxhZ3MuX2FmZmVjdGVkQnlIb3ZlciA9IGI7IH0KLSAgICB2b2lkIHNldEFmZmVj
dGVkQnlBY3RpdmVSdWxlcyhib29sIGIpIHsgbm9uaW5oZXJpdGVkX2ZsYWdzLl9hZmZlY3RlZEJ5
QWN0aXZlID0gYjsgfQotICAgIHZvaWQgc2V0QWZmZWN0ZWRCeURyYWdSdWxlcyhib29sIGIpIHsg
bm9uaW5oZXJpdGVkX2ZsYWdzLl9hZmZlY3RlZEJ5RHJhZyA9IGI7IH0KKyAgICB2b2lkIHNldEFm
ZmVjdGVkQnlIb3ZlclJ1bGVzKGJvb2wgYikgeyBub25pbmhlcml0ZWRfZmxhZ3Muc2V0QWZmZWN0
ZWRCeUhvdmVyKGIpOyB9CisgICAgdm9pZCBzZXRBZmZlY3RlZEJ5QWN0aXZlUnVsZXMoYm9vbCBi
KSB7IG5vbmluaGVyaXRlZF9mbGFncy5zZXRBZmZlY3RlZEJ5QWN0aXZlKGIpOyB9CisgICAgdm9p
ZCBzZXRBZmZlY3RlZEJ5RHJhZ1J1bGVzKGJvb2wgYikgeyBub25pbmhlcml0ZWRfZmxhZ3Muc2V0
QWZmZWN0ZWRCeURyYWcoYik7IH0KIAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSZW5kZXJT
dHlsZSYgb3RoZXIpIGNvbnN0OwogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBSZW5kZXJTdHls
ZSYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOyB9CkBAIC02OTMsNyAr
NzA0LDcgQEAgcHVibGljOgogICAgIEN1cnNvckxpc3QqIGN1cnNvcnMoKSBjb25zdCB7IHJldHVy
biByYXJlSW5oZXJpdGVkRGF0YS0+Y3Vyc29yRGF0YS5nZXQoKTsgfQogCiAgICAgRUluc2lkZUxp
bmsgaW5zaWRlTGluaygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVJbnNpZGVMaW5rPihp
bmhlcml0ZWRfZmxhZ3MuX2luc2lkZUxpbmspOyB9Ci0gICAgYm9vbCBpc0xpbmsoKSBjb25zdCB7
IHJldHVybiBub25pbmhlcml0ZWRfZmxhZ3MuX2lzTGluazsgfQorICAgIGJvb2wgaXNMaW5rKCkg
Y29uc3QgeyByZXR1cm4gbm9uaW5oZXJpdGVkX2ZsYWdzLmlzTGluaygpOyB9CiAKICAgICBzaG9y
dCB3aWRvd3MoKSBjb25zdCB7IHJldHVybiByYXJlSW5oZXJpdGVkRGF0YS0+d2lkb3dzOyB9CiAg
ICAgc2hvcnQgb3JwaGFucygpIGNvbnN0IHsgcmV0dXJuIHJhcmVJbmhlcml0ZWREYXRhLT5vcnBo
YW5zOyB9CkBAIC0xMTE5LDcgKzExMzAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVhckN1cnNv
ckxpc3QoKTsKIAogICAgIHZvaWQgc2V0SW5zaWRlTGluayhFSW5zaWRlTGluayBpbnNpZGVMaW5r
KSB7IGluaGVyaXRlZF9mbGFncy5faW5zaWRlTGluayA9IGluc2lkZUxpbms7IH0KLSAgICB2b2lk
IHNldElzTGluayhib29sIGIpIHsgbm9uaW5oZXJpdGVkX2ZsYWdzLl9pc0xpbmsgPSBiOyB9Cisg
ICAgdm9pZCBzZXRJc0xpbmsoYm9vbCBiKSB7IG5vbmluaGVyaXRlZF9mbGFncy5zZXRJc0xpbmso
Yik7IH0KIAogICAgIFByaW50Q29sb3JBZGp1c3QgcHJpbnRDb2xvckFkanVzdCgpIGNvbnN0IHsg
cmV0dXJuIHN0YXRpY19jYXN0PFByaW50Q29sb3JBZGp1c3Q+KGluaGVyaXRlZF9mbGFncy5tX3By
aW50Q29sb3JBZGp1c3QpOyB9CiAgICAgdm9pZCBzZXRQcmludENvbG9yQWRqdXN0KFByaW50Q29s
b3JBZGp1c3QgdmFsdWUpIHsgaW5oZXJpdGVkX2ZsYWdzLm1fcHJpbnRDb2xvckFkanVzdCA9IHZh
bHVlOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119943</attachid>
            <date>2011-12-19 16:27:35 -0800</date>
            <delta_ts>2011-12-19 16:30:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74880-20111219162752.patch</filename>
            <type>text/plain</type>
            <size>14196</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjY0NzhlNTBhMjY3YWVk
Y2FiNWViYTEwNGM0ZWQ5MDgyMGZmYjU4ZS4uODQ3ZmQ0NjkyOTdiODhjMGNjMDhiOTZkZGRhZDZk
NjM1MmZhNjI2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDExLTEyLTE5ICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVuZGVyU3R5bGU6OkluaGVy
aXRlZEZsYWdzIGFuZCBSZW5kZXJTdHlsZTo6Tm9uSW5oZXJpdGVkRmxhZ3MgbWVtYmVycyBzaG91
bGQgYmUgNCBieXRlIGFsaWduZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc0ODgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVXNlIHVuc2lnbmVkIGZvciBhbGwgdHlwZXMgc28gd2UgZ2V0IDQgYnl0ZSBi
b3VuZGFyaWVzICh1bnNpZ25lZCBjaGFyCisgICAgICAgIG1lYW5zIHdlIHRyeSB0byBhbGlnbiB0
byAxIGJ5dGUgYm91bmRhcmllcykgYW5kIGFkZCBzZXR0ZXJzIGFuZAorICAgICAgICBnZXR0ZXJz
IGZvciBib29sIG1lbWJlcnMuCisKKyAgICAgICAgTW92ZSBzb21lIG1lbWJlcnMgYXJvdW5kIHRv
IG1ha2Ugc3VyZSB3ZSdyZSBhbGlnbmVkIHRvIDQgYnl0ZSBib3VuZGFyaWVzLgorCisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclN0eWxlOjpjb3B5Tm9uSW5oZXJpdGVkRnJvbSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6Tm9u
SW5oZXJpdGVkRmxhZ3M6OmFmZmVjdGVkQnlIb3Zlcik6CisgICAgICAgIChXZWJDb3JlOjpJbmhl
cml0ZWRGbGFnczo6Tm9uSW5oZXJpdGVkRmxhZ3M6OnNldEFmZmVjdGVkQnlIb3Zlcik6CisgICAg
ICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6Tm9uSW5oZXJpdGVkRmxhZ3M6OmFmZmVjdGVk
QnlBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6Ok5vbkluaGVyaXRl
ZEZsYWdzOjpzZXRBZmZlY3RlZEJ5QWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRl
ZEZsYWdzOjpOb25Jbmhlcml0ZWRGbGFnczo6YWZmZWN0ZWRCeURyYWcpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5oZXJpdGVkRmxhZ3M6Ok5vbkluaGVyaXRlZEZsYWdzOjpzZXRBZmZlY3RlZEJ5RHJh
Zyk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6Tm9uSW5oZXJpdGVkRmxhZ3M6
OmlzTGluayk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6Tm9uSW5oZXJpdGVk
RmxhZ3M6OnNldElzTGluayk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6c2V0
Qml0RGVmYXVsdHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmFmZmVjdGVk
QnlIb3ZlclJ1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjphZmZlY3Rl
ZEJ5QWN0aXZlUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmFmZmVj
dGVkQnlEcmFnUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldEFm
ZmVjdGVkQnlIb3ZlclJ1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpz
ZXRBZmZlY3RlZEJ5QWN0aXZlUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxh
Z3M6OnNldEFmZmVjdGVkQnlEcmFnUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVk
RmxhZ3M6OmlzTGluayk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6c2V0SXNM
aW5rKToKKwogMjAxMS0xMi0xOSAgSWFpbiBNZXJyaWNrICA8aHVza3lAZ29vZ2xlLmNvbT4KIAog
ICAgICAgICBbY2hyb21pdW1dIEFjY2VsZXJhdGVkIGNhbnZhcyBicm9rZW4gaW4gdGhyZWFkZWQg
Y29tcG9zaXRpbmcgbW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5jcHAKaW5kZXggNGExYTU2YWI2YWUwNmMzNWY1YTkwZTcxYjIyNWJhNTExMjAwMjlm
NS4uZGMyYWMzMDBhZmE0Y2NhNmRlOTY1MGJiMTk5ZmE2ODU2YWU3NWIyMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCkBAIC00NCw2ICs0NCwy
OCBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0cnVj
dCBTYW1lU2l6ZUFzUmVuZGVyU3R5bGUgOiBwdWJsaWMgUmVmQ291bnRlZDxTYW1lU2l6ZUFzUmVu
ZGVyU3R5bGU+IHsKKyAgICB1bnNpZ25lZCBtX2JpdGZpZWxkczsKKworICAgIHZvaWQqIGRhdGFS
ZWZzWzddOworICAgIHZvaWQqIG93blB0cnNbMV07CisjaWYgRU5BQkxFKFNWRykKKyAgICB2b2lk
KiBkYXRhUmVmU3ZnU3R5bGU7CisjZW5kaWYKKyAgICBzdHJ1Y3QgSW5oZXJpdGVkRmxhZ3Mgewor
ICAgICAgICB1bnNpZ25lZCBtX2JpdGZpZWxkc1syXTsKKyAgICB9IGluaGVyaXRlZF9mbGFnczsK
KworICAgIHN0cnVjdCBOb25Jbmhlcml0ZWRGbGFncyB7CisgICAgICAgIHVuc2lnbmVkIG1fYml0
ZmllbGRzWzJdOworICAgIH0gbm9uaW5oZXJpdGVkX2ZsYWdzOworfTsKKworLy8gRklYTUU6IEVu
YWJsZSBhc3NlcnQgb24gV2luZG93cy4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTc0ODc2CisjaWYgIU9TKFdJTkRPV1MpCitDT01QSUxFX0FTU0VSVChzaXplb2YoUmVu
ZGVyU3R5bGUpID09IHNpemVvZihTYW1lU2l6ZUFzUmVuZGVyU3R5bGUpLCBSZW5kZXJTdHlsZV9z
aG91bGRfc3RheV9zbWFsbCk7CisjZW5kaWYKKwogaW5saW5lIFJlbmRlclN0eWxlKiBkZWZhdWx0
U3R5bGUoKQogewogICAgIHN0YXRpYyBSZW5kZXJTdHlsZSogc19kZWZhdWx0U3R5bGUgPSBSZW5k
ZXJTdHlsZTo6Y3JlYXRlRGVmYXVsdFN0eWxlKCkubGVha1JlZigpOwpAQCAtMjAyLDEwICsyMjQs
MTAgQEAgdm9pZCBSZW5kZXJTdHlsZTo6Y29weU5vbkluaGVyaXRlZEZyb20oY29uc3QgUmVuZGVy
U3R5bGUqIG90aGVyKQogICAgIG5vbmluaGVyaXRlZF9mbGFncy5fcG9zaXRpb24gPSBvdGhlci0+
bm9uaW5oZXJpdGVkX2ZsYWdzLl9wb3NpdGlvbjsKICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX2Zs
b2F0aW5nID0gb3RoZXItPm5vbmluaGVyaXRlZF9mbGFncy5fZmxvYXRpbmc7CiAgICAgbm9uaW5o
ZXJpdGVkX2ZsYWdzLl90YWJsZV9sYXlvdXQgPSBvdGhlci0+bm9uaW5oZXJpdGVkX2ZsYWdzLl90
YWJsZV9sYXlvdXQ7CisgICAgbm9uaW5oZXJpdGVkX2ZsYWdzLl91bmljb2RlQmlkaSA9IG90aGVy
LT5ub25pbmhlcml0ZWRfZmxhZ3MuX3VuaWNvZGVCaWRpOwogICAgIG5vbmluaGVyaXRlZF9mbGFn
cy5fcGFnZV9icmVha19iZWZvcmUgPSBvdGhlci0+bm9uaW5oZXJpdGVkX2ZsYWdzLl9wYWdlX2Jy
ZWFrX2JlZm9yZTsKICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX3BhZ2VfYnJlYWtfYWZ0ZXIgPSBv
dGhlci0+bm9uaW5oZXJpdGVkX2ZsYWdzLl9wYWdlX2JyZWFrX2FmdGVyOwogICAgIG5vbmluaGVy
aXRlZF9mbGFncy5fcGFnZV9icmVha19pbnNpZGUgPSBvdGhlci0+bm9uaW5oZXJpdGVkX2ZsYWdz
Ll9wYWdlX2JyZWFrX2luc2lkZTsKLSAgICBub25pbmhlcml0ZWRfZmxhZ3MuX3VuaWNvZGVCaWRp
ID0gb3RoZXItPm5vbmluaGVyaXRlZF9mbGFncy5fdW5pY29kZUJpZGk7CiAjaWYgRU5BQkxFKFNW
RykKICAgICBpZiAobV9zdmdTdHlsZSAhPSBvdGhlci0+bV9zdmdTdHlsZSkKICAgICAgICAgbV9z
dmdTdHlsZS5hY2Nlc3MoKS0+Y29weU5vbkluaGVyaXRlZEZyb20ob3RoZXItPm1fc3ZnU3R5bGUu
Z2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApp
bmRleCBiOGE0YjM0N2VjNDYxODc2MDc0NjI3N2UwY2FmZDQ3MjdhODEzNzhlLi5kYmQ0ZWRlNmVj
MzgwOWM0MjdmMjQ1YWM3ZTA1OWZmODhjMTM2NTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtMTc5LDggKzE3OSw4IEBAIHByb3RlY3RlZDoK
ICAgICAgICAgICAgICAgICAmJiAoX3RleHRfZGVjb3JhdGlvbnMgPT0gb3RoZXIuX3RleHRfZGVj
b3JhdGlvbnMpCiAgICAgICAgICAgICAgICAgJiYgKF9jdXJzb3Jfc3R5bGUgPT0gb3RoZXIuX2N1
cnNvcl9zdHlsZSkKICAgICAgICAgICAgICAgICAmJiAoX2RpcmVjdGlvbiA9PSBvdGhlci5fZGly
ZWN0aW9uKQotICAgICAgICAgICAgICAgICYmIChfYm9yZGVyX2NvbGxhcHNlID09IG90aGVyLl9i
b3JkZXJfY29sbGFwc2UpCiAgICAgICAgICAgICAgICAgJiYgKF93aGl0ZV9zcGFjZSA9PSBvdGhl
ci5fd2hpdGVfc3BhY2UpCisgICAgICAgICAgICAgICAgJiYgKF9ib3JkZXJfY29sbGFwc2UgPT0g
b3RoZXIuX2JvcmRlcl9jb2xsYXBzZSkKICAgICAgICAgICAgICAgICAmJiAoX2JveF9kaXJlY3Rp
b24gPT0gb3RoZXIuX2JveF9kaXJlY3Rpb24pCiAgICAgICAgICAgICAgICAgJiYgKG1fcnRsT3Jk
ZXJpbmcgPT0gb3RoZXIubV9ydGxPcmRlcmluZykKICAgICAgICAgICAgICAgICAmJiAobV9wcmlu
dENvbG9yQWRqdXN0ID09IG90aGVyLm1fcHJpbnRDb2xvckFkanVzdCkKQEAgLTE5MSwzMCArMTkx
LDMwIEBAIHByb3RlY3RlZDoKIAogICAgICAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgSW5oZXJp
dGVkRmxhZ3MmIG90aGVyKSBjb25zdCB7IHJldHVybiAhKCp0aGlzID09IG90aGVyKTsgfQogCi0g
ICAgICAgIHVuc2lnbmVkIGNoYXIgX2VtcHR5X2NlbGxzIDogMTsgLy8gRUVtcHR5Q2VsbAotICAg
ICAgICB1bnNpZ25lZCBjaGFyIF9jYXB0aW9uX3NpZGUgOiAyOyAvLyBFQ2FwdGlvblNpZGUKLSAg
ICAgICAgdW5zaWduZWQgY2hhciBfbGlzdF9zdHlsZV90eXBlIDogNzsgLy8gRUxpc3RTdHlsZVR5
cGUKLSAgICAgICAgdW5zaWduZWQgY2hhciBfbGlzdF9zdHlsZV9wb3NpdGlvbiA6IDE7IC8vIEVM
aXN0U3R5bGVQb3NpdGlvbgotICAgICAgICB1bnNpZ25lZCBjaGFyIF92aXNpYmlsaXR5IDogMjsg
Ly8gRVZpc2liaWxpdHkKLSAgICAgICAgdW5zaWduZWQgY2hhciBfdGV4dF9hbGlnbiA6IDQ7IC8v
IEVUZXh0QWxpZ24KLSAgICAgICAgdW5zaWduZWQgY2hhciBfdGV4dF90cmFuc2Zvcm0gOiAyOyAv
LyBFVGV4dFRyYW5zZm9ybQotICAgICAgICB1bnNpZ25lZCBjaGFyIF90ZXh0X2RlY29yYXRpb25z
IDogRVRleHREZWNvcmF0aW9uQml0czsKLSAgICAgICAgdW5zaWduZWQgY2hhciBfY3Vyc29yX3N0
eWxlIDogNjsgLy8gRUN1cnNvcgotICAgICAgICB1bnNpZ25lZCBjaGFyIF9kaXJlY3Rpb24gOiAx
OyAvLyBUZXh0RGlyZWN0aW9uCi0gICAgICAgIHVuc2lnbmVkIGNoYXIgX2JvcmRlcl9jb2xsYXBz
ZSA6IDE7IC8vIEVCb3JkZXJDb2xsYXBzZQotICAgICAgICB1bnNpZ25lZCBjaGFyIF93aGl0ZV9z
cGFjZSA6IDM7IC8vIEVXaGl0ZVNwYWNlCi0gICAgICAgIHVuc2lnbmVkIGNoYXIgX2JveF9kaXJl
Y3Rpb24gOiAxOyAvLyBFQm94RGlyZWN0aW9uIChDU1MzIGJveF9kaXJlY3Rpb24gcHJvcGVydHks
IGZsZXhpYmxlIGJveCBsYXlvdXQgbW9kdWxlKQotICAgICAgICAvLyAzNCBiaXRzCisgICAgICAg
IHVuc2lnbmVkIF9lbXB0eV9jZWxscyA6IDE7IC8vIEVFbXB0eUNlbGwKKyAgICAgICAgdW5zaWdu
ZWQgX2NhcHRpb25fc2lkZSA6IDI7IC8vIEVDYXB0aW9uU2lkZQorICAgICAgICB1bnNpZ25lZCBf
bGlzdF9zdHlsZV90eXBlIDogNzsgLy8gRUxpc3RTdHlsZVR5cGUKKyAgICAgICAgdW5zaWduZWQg
X2xpc3Rfc3R5bGVfcG9zaXRpb24gOiAxOyAvLyBFTGlzdFN0eWxlUG9zaXRpb24KKyAgICAgICAg
dW5zaWduZWQgX3Zpc2liaWxpdHkgOiAyOyAvLyBFVmlzaWJpbGl0eQorICAgICAgICB1bnNpZ25l
ZCBfdGV4dF9hbGlnbiA6IDQ7IC8vIEVUZXh0QWxpZ24KKyAgICAgICAgdW5zaWduZWQgX3RleHRf
dHJhbnNmb3JtIDogMjsgLy8gRVRleHRUcmFuc2Zvcm0KKyAgICAgICAgdW5zaWduZWQgX3RleHRf
ZGVjb3JhdGlvbnMgOiBFVGV4dERlY29yYXRpb25CaXRzOworICAgICAgICB1bnNpZ25lZCBfY3Vy
c29yX3N0eWxlIDogNjsgLy8gRUN1cnNvcgorICAgICAgICB1bnNpZ25lZCBfZGlyZWN0aW9uIDog
MTsgLy8gVGV4dERpcmVjdGlvbgorICAgICAgICB1bnNpZ25lZCBfd2hpdGVfc3BhY2UgOiAzOyAv
LyBFV2hpdGVTcGFjZQorICAgICAgICAvLyAzMiBiaXRzCisgICAgICAgIHVuc2lnbmVkIF9ib3Jk
ZXJfY29sbGFwc2UgOiAxOyAvLyBFQm9yZGVyQ29sbGFwc2UKKyAgICAgICAgdW5zaWduZWQgX2Jv
eF9kaXJlY3Rpb24gOiAxOyAvLyBFQm94RGlyZWN0aW9uIChDU1MzIGJveF9kaXJlY3Rpb24gcHJv
cGVydHksIGZsZXhpYmxlIGJveCBsYXlvdXQgbW9kdWxlKQogCiAgICAgICAgIC8vIG5vbiBDU1My
IGluaGVyaXRlZAotICAgICAgICB1bnNpZ25lZCBjaGFyIG1fcnRsT3JkZXJpbmcgOiAxOyAvLyBP
cmRlcgotICAgICAgICB1bnNpZ25lZCBjaGFyIG1fcHJpbnRDb2xvckFkanVzdCA6IFByaW50Q29s
b3JBZGp1c3RCaXRzOwotICAgICAgICB1bnNpZ25lZCBjaGFyIF9wb2ludGVyRXZlbnRzIDogNDsg
Ly8gRVBvaW50ZXJFdmVudHMKLSAgICAgICAgdW5zaWduZWQgY2hhciBfaW5zaWRlTGluayA6IDI7
IC8vIEVJbnNpZGVMaW5rCisgICAgICAgIHVuc2lnbmVkIG1fcnRsT3JkZXJpbmcgOiAxOyAvLyBP
cmRlcgorICAgICAgICB1bnNpZ25lZCBtX3ByaW50Q29sb3JBZGp1c3QgOiBQcmludENvbG9yQWRq
dXN0Qml0czsKKyAgICAgICAgdW5zaWduZWQgX3BvaW50ZXJFdmVudHMgOiA0OyAvLyBFUG9pbnRl
ckV2ZW50cworICAgICAgICB1bnNpZ25lZCBfaW5zaWRlTGluayA6IDI7IC8vIEVJbnNpZGVMaW5r
CiAgICAgICAgIC8vIDQzIGJpdHMKIAogICAgICAgICAvLyBDU1MgVGV4dCBMYXlvdXQgTW9kdWxl
IExldmVsIDM6IFZlcnRpY2FsIHdyaXRpbmcgc3VwcG9ydAotICAgICAgICB1bnNpZ25lZCBjaGFy
IG1fd3JpdGluZ01vZGUgOiAyOyAvLyBXcml0aW5nTW9kZQorICAgICAgICB1bnNpZ25lZCBtX3dy
aXRpbmdNb2RlIDogMjsgLy8gV3JpdGluZ01vZGUKICAgICAgICAgLy8gNDUgYml0cwogICAgIH0g
aW5oZXJpdGVkX2ZsYWdzOwogCkBAIC0yNDUsMjcgKzI0NSwzOCBAQCBwcm90ZWN0ZWQ6CiAKICAg
ICAgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IE5vbkluaGVyaXRlZEZsYWdzJiBvdGhlcikgY29u
c3QgeyByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7IH0KIAotICAgICAgICB1bnNpZ25lZCBjaGFy
IF9lZmZlY3RpdmVEaXNwbGF5IDogNTsgLy8gRURpc3BsYXkKLSAgICAgICAgdW5zaWduZWQgY2hh
ciBfb3JpZ2luYWxEaXNwbGF5IDogNTsgLy8gRURpc3BsYXkKLSAgICAgICAgdW5zaWduZWQgY2hh
ciBfb3ZlcmZsb3dYIDogMzsgLy8gRU92ZXJmbG93Ci0gICAgICAgIHVuc2lnbmVkIGNoYXIgX292
ZXJmbG93WSA6IDM7IC8vIEVPdmVyZmxvdwotICAgICAgICB1bnNpZ25lZCBjaGFyIF92ZXJ0aWNh
bF9hbGlnbiA6IDQ7IC8vIEVWZXJ0aWNhbEFsaWduCi0gICAgICAgIHVuc2lnbmVkIGNoYXIgX2Ns
ZWFyIDogMjsgLy8gRUNsZWFyCi0gICAgICAgIHVuc2lnbmVkIGNoYXIgX3Bvc2l0aW9uIDogMjsg
Ly8gRVBvc2l0aW9uCi0gICAgICAgIHVuc2lnbmVkIGNoYXIgX2Zsb2F0aW5nIDogMjsgLy8gRUZs
b2F0Ci0gICAgICAgIHVuc2lnbmVkIGNoYXIgX3RhYmxlX2xheW91dCA6IDE7IC8vIEVUYWJsZUxh
eW91dAotCi0gICAgICAgIHVuc2lnbmVkIGNoYXIgX3BhZ2VfYnJlYWtfYmVmb3JlIDogMjsgLy8g
RVBhZ2VCcmVhawotICAgICAgICB1bnNpZ25lZCBjaGFyIF9wYWdlX2JyZWFrX2FmdGVyIDogMjsg
Ly8gRVBhZ2VCcmVhawotICAgICAgICB1bnNpZ25lZCBjaGFyIF9wYWdlX2JyZWFrX2luc2lkZSA6
IDI7IC8vIEVQYWdlQnJlYWsKLQotICAgICAgICB1bnNpZ25lZCBjaGFyIF9zdHlsZVR5cGUgOiA2
OyAvLyBQc2V1ZG9JZAotICAgICAgICBib29sIF9hZmZlY3RlZEJ5SG92ZXIgOiAxOwotICAgICAg
ICBib29sIF9hZmZlY3RlZEJ5QWN0aXZlIDogMTsKLSAgICAgICAgYm9vbCBfYWZmZWN0ZWRCeURy
YWcgOiAxOwotICAgICAgICB1bnNpZ25lZCBjaGFyIF9wc2V1ZG9CaXRzIDogNzsKLSAgICAgICAg
dW5zaWduZWQgY2hhciBfdW5pY29kZUJpZGkgOiAzOyAvLyBFVW5pY29kZUJpZGkKLSAgICAgICAg
Ym9vbCBfaXNMaW5rIDogMTsKKyAgICAgICAgdW5zaWduZWQgX2VmZmVjdGl2ZURpc3BsYXkgOiA1
OyAvLyBFRGlzcGxheQorICAgICAgICB1bnNpZ25lZCBfb3JpZ2luYWxEaXNwbGF5IDogNTsgLy8g
RURpc3BsYXkKKyAgICAgICAgdW5zaWduZWQgX292ZXJmbG93WCA6IDM7IC8vIEVPdmVyZmxvdwor
ICAgICAgICB1bnNpZ25lZCBfb3ZlcmZsb3dZIDogMzsgLy8gRU92ZXJmbG93CisgICAgICAgIHVu
c2lnbmVkIF92ZXJ0aWNhbF9hbGlnbiA6IDQ7IC8vIEVWZXJ0aWNhbEFsaWduCisgICAgICAgIHVu
c2lnbmVkIF9jbGVhciA6IDI7IC8vIEVDbGVhcgorICAgICAgICB1bnNpZ25lZCBfcG9zaXRpb24g
OiAyOyAvLyBFUG9zaXRpb24KKyAgICAgICAgdW5zaWduZWQgX2Zsb2F0aW5nIDogMjsgLy8gRUZs
b2F0CisgICAgICAgIHVuc2lnbmVkIF90YWJsZV9sYXlvdXQgOiAxOyAvLyBFVGFibGVMYXlvdXQK
KworICAgICAgICB1bnNpZ25lZCBfdW5pY29kZUJpZGkgOiAzOyAvLyBFVW5pY29kZUJpZGkKKyAg
ICAgICAgdW5zaWduZWQgX3BhZ2VfYnJlYWtfYmVmb3JlIDogMjsgLy8gRVBhZ2VCcmVhaworICAg
ICAgICAvLyAzMiBiaXRzCisgICAgICAgIHVuc2lnbmVkIF9wYWdlX2JyZWFrX2FmdGVyIDogMjsg
Ly8gRVBhZ2VCcmVhaworICAgICAgICB1bnNpZ25lZCBfcGFnZV9icmVha19pbnNpZGUgOiAyOyAv
LyBFUGFnZUJyZWFrCisKKyAgICAgICAgdW5zaWduZWQgX3N0eWxlVHlwZSA6IDY7IC8vIFBzZXVk
b0lkCisgICAgICAgIHVuc2lnbmVkIF9wc2V1ZG9CaXRzIDogNzsKKworICAgICAgICBib29sIGFm
ZmVjdGVkQnlIb3ZlcigpIGNvbnN0IHsgcmV0dXJuIF9hZmZlY3RlZEJ5SG92ZXI7IH0KKyAgICAg
ICAgdm9pZCBzZXRBZmZlY3RlZEJ5SG92ZXIoYm9vbCB2YWx1ZSkgeyBfYWZmZWN0ZWRCeUhvdmVy
ID0gdmFsdWU7IH0KKyAgICAgICAgYm9vbCBhZmZlY3RlZEJ5QWN0aXZlKCkgY29uc3QgeyByZXR1
cm4gX2FmZmVjdGVkQnlBY3RpdmU7IH0KKyAgICAgICAgdm9pZCBzZXRBZmZlY3RlZEJ5QWN0aXZl
KGJvb2wgdmFsdWUpIHsgX2FmZmVjdGVkQnlBY3RpdmUgPSB2YWx1ZTsgfQorICAgICAgICBib29s
IGFmZmVjdGVkQnlEcmFnKCkgY29uc3QgeyByZXR1cm4gX2FmZmVjdGVkQnlEcmFnOyB9CisgICAg
ICAgIHZvaWQgc2V0QWZmZWN0ZWRCeURyYWcoYm9vbCB2YWx1ZSkgeyBfYWZmZWN0ZWRCeURyYWcg
PSB2YWx1ZTsgfQorICAgICAgICBib29sIGlzTGluaygpIGNvbnN0IHsgcmV0dXJuIF9pc0xpbms7
IH0KKyAgICAgICAgdm9pZCBzZXRJc0xpbmsoYm9vbCB2YWx1ZSkgeyBfaXNMaW5rID0gdmFsdWU7
IH0KKyAgICBwcml2YXRlOgorICAgICAgICB1bnNpZ25lZCBfYWZmZWN0ZWRCeUhvdmVyIDogMTsK
KyAgICAgICAgdW5zaWduZWQgX2FmZmVjdGVkQnlBY3RpdmUgOiAxOworICAgICAgICB1bnNpZ25l
ZCBfYWZmZWN0ZWRCeURyYWcgOiAxOworICAgICAgICB1bnNpZ25lZCBfaXNMaW5rIDogMTsKICAg
ICAgICAgLy8gSWYgeW91IGFkZCBtb3JlIHN0eWxlIGJpdHMgaGVyZSwgeW91IHdpbGwgYWxzbyBu
ZWVkIHRvIHVwZGF0ZSBSZW5kZXJTdHlsZTo6Y29weU5vbkluaGVyaXRlZEZyb20oKQogICAgICAg
ICAvLyA1MyBiaXRzCiAgICAgfSBub25pbmhlcml0ZWRfZmxhZ3M7CkBAIC0yODUsOCArMjk2LDgg
QEAgcHJvdGVjdGVkOgogICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX3RleHRfZGVjb3JhdGlvbnMg
PSBpbml0aWFsVGV4dERlY29yYXRpb24oKTsKICAgICAgICAgaW5oZXJpdGVkX2ZsYWdzLl9jdXJz
b3Jfc3R5bGUgPSBpbml0aWFsQ3Vyc29yKCk7CiAgICAgICAgIGluaGVyaXRlZF9mbGFncy5fZGly
ZWN0aW9uID0gaW5pdGlhbERpcmVjdGlvbigpOwotICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX2Jv
cmRlcl9jb2xsYXBzZSA9IGluaXRpYWxCb3JkZXJDb2xsYXBzZSgpOwogICAgICAgICBpbmhlcml0
ZWRfZmxhZ3MuX3doaXRlX3NwYWNlID0gaW5pdGlhbFdoaXRlU3BhY2UoKTsKKyAgICAgICAgaW5o
ZXJpdGVkX2ZsYWdzLl9ib3JkZXJfY29sbGFwc2UgPSBpbml0aWFsQm9yZGVyQ29sbGFwc2UoKTsK
ICAgICAgICAgaW5oZXJpdGVkX2ZsYWdzLm1fcnRsT3JkZXJpbmcgPSBpbml0aWFsUlRMT3JkZXJp
bmcoKTsKICAgICAgICAgaW5oZXJpdGVkX2ZsYWdzLl9ib3hfZGlyZWN0aW9uID0gaW5pdGlhbEJv
eERpcmVjdGlvbigpOwogICAgICAgICBpbmhlcml0ZWRfZmxhZ3MubV9wcmludENvbG9yQWRqdXN0
ID0gaW5pdGlhbFByaW50Q29sb3JBZGp1c3QoKTsKQEAgLTMwMiwxNiArMzEzLDE2IEBAIHByb3Rl
Y3RlZDoKICAgICAgICAgbm9uaW5oZXJpdGVkX2ZsYWdzLl9wb3NpdGlvbiA9IGluaXRpYWxQb3Np
dGlvbigpOwogICAgICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX2Zsb2F0aW5nID0gaW5pdGlhbEZs
b2F0aW5nKCk7CiAgICAgICAgIG5vbmluaGVyaXRlZF9mbGFncy5fdGFibGVfbGF5b3V0ID0gaW5p
dGlhbFRhYmxlTGF5b3V0KCk7CisgICAgICAgIG5vbmluaGVyaXRlZF9mbGFncy5fdW5pY29kZUJp
ZGkgPSBpbml0aWFsVW5pY29kZUJpZGkoKTsKICAgICAgICAgbm9uaW5oZXJpdGVkX2ZsYWdzLl9w
YWdlX2JyZWFrX2JlZm9yZSA9IGluaXRpYWxQYWdlQnJlYWsoKTsKICAgICAgICAgbm9uaW5oZXJp
dGVkX2ZsYWdzLl9wYWdlX2JyZWFrX2FmdGVyID0gaW5pdGlhbFBhZ2VCcmVhaygpOwogICAgICAg
ICBub25pbmhlcml0ZWRfZmxhZ3MuX3BhZ2VfYnJlYWtfaW5zaWRlID0gaW5pdGlhbFBhZ2VCcmVh
aygpOwogICAgICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX3N0eWxlVHlwZSA9IE5PUFNFVURPOwot
ICAgICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX2FmZmVjdGVkQnlIb3ZlciA9IGZhbHNlOwotICAg
ICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX2FmZmVjdGVkQnlBY3RpdmUgPSBmYWxzZTsKLSAgICAg
ICAgbm9uaW5oZXJpdGVkX2ZsYWdzLl9hZmZlY3RlZEJ5RHJhZyA9IGZhbHNlOwogICAgICAgICBu
b25pbmhlcml0ZWRfZmxhZ3MuX3BzZXVkb0JpdHMgPSAwOwotICAgICAgICBub25pbmhlcml0ZWRf
ZmxhZ3MuX3VuaWNvZGVCaWRpID0gaW5pdGlhbFVuaWNvZGVCaWRpKCk7Ci0gICAgICAgIG5vbmlu
aGVyaXRlZF9mbGFncy5faXNMaW5rID0gZmFsc2U7CisgICAgICAgIG5vbmluaGVyaXRlZF9mbGFn
cy5zZXRBZmZlY3RlZEJ5SG92ZXIoZmFsc2UpOworICAgICAgICBub25pbmhlcml0ZWRfZmxhZ3Mu
c2V0QWZmZWN0ZWRCeUFjdGl2ZShmYWxzZSk7CisgICAgICAgIG5vbmluaGVyaXRlZF9mbGFncy5z
ZXRBZmZlY3RlZEJ5RHJhZyhmYWxzZSk7CisgICAgICAgIG5vbmluaGVyaXRlZF9mbGFncy5zZXRJ
c0xpbmsoZmFsc2UpOwogICAgIH0KIAogcHJpdmF0ZToKQEAgLTM0MCwxMyArMzUxLDEzIEBAIHB1
YmxpYzoKIAogICAgIGNvbnN0IFBzZXVkb1N0eWxlQ2FjaGUqIGNhY2hlZFBzZXVkb1N0eWxlcygp
IGNvbnN0IHsgcmV0dXJuIG1fY2FjaGVkUHNldWRvU3R5bGVzLmdldCgpOyB9CiAKLSAgICBib29s
IGFmZmVjdGVkQnlIb3ZlclJ1bGVzKCkgY29uc3QgeyByZXR1cm4gbm9uaW5oZXJpdGVkX2ZsYWdz
Ll9hZmZlY3RlZEJ5SG92ZXI7IH0KLSAgICBib29sIGFmZmVjdGVkQnlBY3RpdmVSdWxlcygpIGNv
bnN0IHsgcmV0dXJuIG5vbmluaGVyaXRlZF9mbGFncy5fYWZmZWN0ZWRCeUFjdGl2ZTsgfQotICAg
IGJvb2wgYWZmZWN0ZWRCeURyYWdSdWxlcygpIGNvbnN0IHsgcmV0dXJuIG5vbmluaGVyaXRlZF9m
bGFncy5fYWZmZWN0ZWRCeURyYWc7IH0KKyAgICBib29sIGFmZmVjdGVkQnlIb3ZlclJ1bGVzKCkg
Y29uc3QgeyByZXR1cm4gbm9uaW5oZXJpdGVkX2ZsYWdzLmFmZmVjdGVkQnlIb3ZlcigpOyB9Cisg
ICAgYm9vbCBhZmZlY3RlZEJ5QWN0aXZlUnVsZXMoKSBjb25zdCB7IHJldHVybiBub25pbmhlcml0
ZWRfZmxhZ3MuYWZmZWN0ZWRCeUFjdGl2ZSgpOyB9CisgICAgYm9vbCBhZmZlY3RlZEJ5RHJhZ1J1
bGVzKCkgY29uc3QgeyByZXR1cm4gbm9uaW5oZXJpdGVkX2ZsYWdzLmFmZmVjdGVkQnlEcmFnKCk7
IH0KIAotICAgIHZvaWQgc2V0QWZmZWN0ZWRCeUhvdmVyUnVsZXMoYm9vbCBiKSB7IG5vbmluaGVy
aXRlZF9mbGFncy5fYWZmZWN0ZWRCeUhvdmVyID0gYjsgfQotICAgIHZvaWQgc2V0QWZmZWN0ZWRC
eUFjdGl2ZVJ1bGVzKGJvb2wgYikgeyBub25pbmhlcml0ZWRfZmxhZ3MuX2FmZmVjdGVkQnlBY3Rp
dmUgPSBiOyB9Ci0gICAgdm9pZCBzZXRBZmZlY3RlZEJ5RHJhZ1J1bGVzKGJvb2wgYikgeyBub25p
bmhlcml0ZWRfZmxhZ3MuX2FmZmVjdGVkQnlEcmFnID0gYjsgfQorICAgIHZvaWQgc2V0QWZmZWN0
ZWRCeUhvdmVyUnVsZXMoYm9vbCBiKSB7IG5vbmluaGVyaXRlZF9mbGFncy5zZXRBZmZlY3RlZEJ5
SG92ZXIoYik7IH0KKyAgICB2b2lkIHNldEFmZmVjdGVkQnlBY3RpdmVSdWxlcyhib29sIGIpIHsg
bm9uaW5oZXJpdGVkX2ZsYWdzLnNldEFmZmVjdGVkQnlBY3RpdmUoYik7IH0KKyAgICB2b2lkIHNl
dEFmZmVjdGVkQnlEcmFnUnVsZXMoYm9vbCBiKSB7IG5vbmluaGVyaXRlZF9mbGFncy5zZXRBZmZl
Y3RlZEJ5RHJhZyhiKTsgfQogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlbmRlclN0eWxl
JiBvdGhlcikgY29uc3Q7CiAgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFJlbmRlclN0eWxlJiBv
dGhlcikgY29uc3QgeyByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7IH0KQEAgLTY5Myw3ICs3MDQs
NyBAQCBwdWJsaWM6CiAgICAgQ3Vyc29yTGlzdCogY3Vyc29ycygpIGNvbnN0IHsgcmV0dXJuIHJh
cmVJbmhlcml0ZWREYXRhLT5jdXJzb3JEYXRhLmdldCgpOyB9CiAKICAgICBFSW5zaWRlTGluayBp
bnNpZGVMaW5rKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RUluc2lkZUxpbms+KGluaGVy
aXRlZF9mbGFncy5faW5zaWRlTGluayk7IH0KLSAgICBib29sIGlzTGluaygpIGNvbnN0IHsgcmV0
dXJuIG5vbmluaGVyaXRlZF9mbGFncy5faXNMaW5rOyB9CisgICAgYm9vbCBpc0xpbmsoKSBjb25z
dCB7IHJldHVybiBub25pbmhlcml0ZWRfZmxhZ3MuaXNMaW5rKCk7IH0KIAogICAgIHNob3J0IHdp
ZG93cygpIGNvbnN0IHsgcmV0dXJuIHJhcmVJbmhlcml0ZWREYXRhLT53aWRvd3M7IH0KICAgICBz
aG9ydCBvcnBoYW5zKCkgY29uc3QgeyByZXR1cm4gcmFyZUluaGVyaXRlZERhdGEtPm9ycGhhbnM7
IH0KQEAgLTExMTcsNyArMTEyOCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFyQ3Vyc29yTGlz
dCgpOwogCiAgICAgdm9pZCBzZXRJbnNpZGVMaW5rKEVJbnNpZGVMaW5rIGluc2lkZUxpbmspIHsg
aW5oZXJpdGVkX2ZsYWdzLl9pbnNpZGVMaW5rID0gaW5zaWRlTGluazsgfQotICAgIHZvaWQgc2V0
SXNMaW5rKGJvb2wgYikgeyBub25pbmhlcml0ZWRfZmxhZ3MuX2lzTGluayA9IGI7IH0KKyAgICB2
b2lkIHNldElzTGluayhib29sIGIpIHsgbm9uaW5oZXJpdGVkX2ZsYWdzLnNldElzTGluayhiKTsg
fQogCiAgICAgUHJpbnRDb2xvckFkanVzdCBwcmludENvbG9yQWRqdXN0KCkgY29uc3QgeyByZXR1
cm4gc3RhdGljX2Nhc3Q8UHJpbnRDb2xvckFkanVzdD4oaW5oZXJpdGVkX2ZsYWdzLm1fcHJpbnRD
b2xvckFkanVzdCk7IH0KICAgICB2b2lkIHNldFByaW50Q29sb3JBZGp1c3QoUHJpbnRDb2xvckFk
anVzdCB2YWx1ZSkgeyBpbmhlcml0ZWRfZmxhZ3MubV9wcmludENvbG9yQWRqdXN0ID0gdmFsdWU7
IH0K
</data>
<flag name="review"
          id="120080"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>