<?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>144058</bug_id>
          
          <creation_ts>2015-04-22 11:46:50 -0700</creation_ts>
          <short_desc>Move render ruby initialization logic from RenderElement::createFor() to *::createElementRenderer()</short_desc>
          <delta_ts>2015-04-22 13:53:54 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1087484</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2015-04-22 11:46:50 -0700</bug_when>
    <thetext>Ruby specific code should live in ruby subclasses and not in RenderElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087552</commentid>
    <comment_count>1</comment_count>
      <attachid>251360</attachid>
    <who name="alan">zalan</who>
    <bug_when>2015-04-22 13:10:53 -0700</bug_when>
    <thetext>Created attachment 251360
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087557</commentid>
    <comment_count>2</comment_count>
      <attachid>251363</attachid>
    <who name="alan">zalan</who>
    <bug_when>2015-04-22 13:17:45 -0700</bug_when>
    <thetext>Created attachment 251363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087576</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2015-04-22 13:53:54 -0700</bug_when>
    <thetext>Committed r183129: &lt;http://trac.webkit.org/changeset/183129&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251360</attachid>
            <date>2015-04-22 13:10:53 -0700</date>
            <delta_ts>2015-04-22 13:17:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144058-20150422130949.patch</filename>
            <type>text/plain</type>
            <size>21897</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzVjYzc5MjE0OTZmZjY5
ZmY0MjFlZDQ1MzQ0MThmMjAxMGQ1OTdkYy4uMWU4ZjIzMTE4YTBlNWUyZjY4M2E1N2M5ZWE1ODYy
YTRlNGFiNWI2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE1LTA0LTIyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSByZW5kZXIgcnVieSBp
bml0aWFsaXphdGlvbiBsb2dpYyBmcm9tIFJlbmRlckVsZW1lbnQ6OmNyZWF0ZUZvcigpIHRvICo6
OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDQwNTgKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KKworICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6
CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1s
L0hUTUxUYWdOYW1lcy5pbjoKKyAgICAgICAgKiBodG1sL1J1YnlFbGVtZW50LmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpSdWJ5RWxlbWVudDo6UnVieUVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6UnVieUVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSdWJ5RWxl
bWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKToKKyAgICAgICAgKiBodG1sL1J1YnlFbGVtZW50
Lmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwvUnVieVRleHRFbGVtZW50LmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSdWJ5VGV4dEVsZW1lbnQ6OlJ1YnlUZXh0RWxlbWVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpSdWJ5VGV4dEVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSdWJ5VGV4dEVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRt
bC9SdWJ5VGV4dEVsZW1lbnQuaDogQWRkZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y3JlYXRlRm9yKToK
KwogMjAxNS0wNC0yMiAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEu
Y29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgogCiAg
ICAgICAgIFtTdHJlYW1zIEFQSV0gSW1wbGVtZW50IFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlcgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCAyZDU2ZGFmOTE4ZTczM2NlMzAyMGE2OWYzMmUzYWFjZmI4
MWNiMzQ2Li42MzYwMmQwMmVhMjlkYzBhZmRlMWJlNTBiZjJhNzMzMjUzM2Q5ODU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtMTY4OCw2ICsxNjg4LDggQEAgc2V0KFdlYkNvcmVfU09VUkNFUwog
ICAgIGh0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwCiAgICAgaHRtbC9SZWxMaXN0LmNwcAogICAgIGh0
bWwvUmVzZXRJbnB1dFR5cGUuY3BwCisgICAgaHRtbC9SdWJ5RWxlbWVudC5jcHAKKyAgICBodG1s
L1J1YnlUZXh0RWxlbWVudC5jcHAKICAgICBodG1sL1NlYXJjaElucHV0VHlwZS5jcHAKICAgICBo
dG1sL1N0ZXBSYW5nZS5jcHAKICAgICBodG1sL1N1Ym1pdElucHV0VHlwZS5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDRmOWZkOTZj
NDE0MzE2MTBiYTAwZmNkYzJlYjdmMGYxYzU3NDdlMjQuLmMwYjFiNWU3MzcwZTI5YmEwZThhOWNh
MzU4YmE0ODdmY2E4N2ExMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvagpAQCAtMTYyNDQsNiArMTYyNDQsOCBAQAogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caHRtbFxSYW5nZUlucHV0VHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxodG1sXFJlbExpc3QuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5caHRtbFxSZXNldElucHV0VHlwZS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxodG1sXFJ1YnlFbGVtZW50LmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0
bWxcUnVieVRleHRFbGVtZW50LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0
bWxcU2VhcmNoSW5wdXRUeXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0
bWxcU3RlcFJhbmdlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcU3Vi
bWl0SW5wdXRUeXBlLmNwcCIgLz4KQEAgLTIxMjc4LDYgKzIxMjgwLDggQEAKICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGh0bWxcUmFuZ2VJbnB1dFR5cGUuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGh0bWxcUmVsTGlzdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5caHRtbFxSZXNldElucHV0VHlwZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aHRtbFxSdWJ5RWxlbWVudC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxS
dWJ5VGV4dEVsZW1lbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcU2Vh
cmNoSW5wdXRUeXBlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFN0ZXBS
YW5nZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxTdWJtaXRJbnB1dFR5
cGUuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycwppbmRleCA5MTQ3NDAxODAyNzlkMDdiOTk0NzJlYjFhYzBjZjgz
NDYzZGNiNGY2Li4yYTVkZDk2MDZkZWEyMjc5MDlmZDJiZDYzNTI2NDkxNWVmNmVmMDUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCkBAIC00MDA4LDYgKzQwMDgsMTIgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGh0bWxcUmVzZXRJbnB1dFR5cGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVy
PgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxSdWJ5
RWxlbWVudC5jcHAiPgorICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CisgICAgPC9DbENvbXBp
bGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXFJ1YnlUZXh0RWxlbWVudC5jcHAi
PgorICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXFNlYXJjaElucHV0VHlwZS5jcHAiPgogICAgICAgPEZp
bHRlcj5odG1sPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0xMTE3Miw2ICsxMTE3OCwx
MiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxSZXNldElucHV0VHlwZS5oIj4K
ICAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxSdWJ5RWxlbWVudC5oIj4KKyAgICAgIDxGaWx0ZXI+aHRt
bDwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aHRtbFxSdWJ5VGV4dEVsZW1lbnQuaCI+CisgICAgICA8RmlsdGVyPmh0bWw8L0ZpbHRlcj4KKyAg
ICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcU2VhcmNoSW5w
dXRUeXBlLmgiPgogICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggMTRkYmQ3MGJjODczZmQ4Yjc1NDc4N2UxMGIyZGY2NTE1ZWFhODA1NS4uOGY0MDJiYjM1
NTAwYWZjNTA2YmU5NmY1M2M0ZGRmMzY2OTQxNGRhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjExNyw2ICsyMTE3LDEwIEBA
CiAJCTU4MDM3MTYxMUE2NkYwMEEwMEJBRjUxOSAvKiBDbGlwUmVjdC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1ODAzNzE1RjFBNjZGMDBBMDBCQUY1
MTkgLyogQ2xpcFJlY3QuY3BwICovOyB9OwogCQk1ODAzNzE2MjFBNjZGMDBBMDBCQUY1MTkgLyog
Q2xpcFJlY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU4MDM3MTYwMUE2NkYwMEEwMEJBRjUxOSAvKiBDbGlwUmVjdC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU4MDM3MTY0MUE2NkYxRDMwMEJBRjUx
OSAvKiBMYXllckZyYWdtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1ODAzNzE2MzFBNjZGMUQzMDBCQUY1MTkgLyogTGF5ZXJGcmFnbWVudC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTU4MjRBQkEy
MUFFODExMTYwMDkwNzRCNyAvKiBSdWJ5RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1ODI0QUJBMDFBRTgxMTE2MDA5MDc0QjcgLyogUnVi
eUVsZW1lbnQuY3BwICovOyB9OworCQk1ODI0QUJBMzFBRTgxMTE2MDA5MDc0QjcgLyogUnVieUVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU4
MjRBQkExMUFFODExMTYwMDkwNzRCNyAvKiBSdWJ5RWxlbWVudC5oICovOyB9OworCQk1ODI0QUJB
NjFBRTgxMzg0MDA5MDc0QjcgLyogUnVieVRleHRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU4MjRBQkE0MUFFODEzODQwMDkwNzRCNyAv
KiBSdWJ5VGV4dEVsZW1lbnQuY3BwICovOyB9OworCQk1ODI0QUJBNzFBRTgxMzg0MDA5MDc0Qjcg
LyogUnVieVRleHRFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1ODI0QUJBNTFBRTgxMzg0MDA5MDc0QjcgLyogUnVieVRleHRFbGVtZW50Lmgg
Ki87IH07CiAJCTU4MkNCMDUzMUE3OEExNEIwMEFGRkNDNCAvKiBTaW1wbGVMaW5lTGF5b3V0VGV4
dEZyYWdtZW50SXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU4MkNCMDUyMUE3OEExNEIwMEFGRkNDNCAvKiBTaW1wbGVMaW5lTGF5b3V0VGV4
dEZyYWdtZW50SXRlcmF0b3IuaCAqLzsgfTsKIAkJNTgyQ0IwNTUxQTc4QTJCMjAwQUZGQ0M0IC8q
IFNpbXBsZUxpbmVMYXlvdXRUZXh0RnJhZ21lbnRJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1ODJDQjA1NDFBNzhBMkIyMDBBRkZDQzQg
LyogU2ltcGxlTGluZUxheW91dFRleHRGcmFnbWVudEl0ZXJhdG9yLmNwcCAqLzsgfTsKIAkJNTg1
RDZERkMxQTE1MzU1NjAwRkE0RjEyIC8qIFNpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1ODVENkRGQjFBMTUz
NTU2MDBGQTRGMTIgLyogU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmNwcCAqLzsgfTsKQEAgLTkz
MjgsNiArOTMzMiwxMCBAQAogCQk1ODAzNzE1RjFBNjZGMDBBMDBCQUY1MTkgLyogQ2xpcFJlY3Qu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2xpcFJlY3QuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1ODAzNzE2MDFBNjZGMDBBMDBCQUY1MTkgLyog
Q2xpcFJlY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xpcFJlY3QuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTgwMzcxNjMxQTY2RjFEMzAwQkFGNTE5IC8q
IExheWVyRnJhZ21lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5ZXJG
cmFnbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1ODI0QUJBMDFBRTgxMTE2
MDA5MDc0QjcgLyogUnVieUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUnVieUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
ODI0QUJBMTFBRTgxMTE2MDA5MDc0QjcgLyogUnVieUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUnVieUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTgyNEFCQTQxQUU4MTM4NDAwOTA3NEI3IC8qIFJ1YnlUZXh0RWxlbWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSdWJ5VGV4dEVsZW1lbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1ODI0QUJBNTFBRTgxMzg0MDA5MDc0QjcgLyog
UnVieVRleHRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJ1YnlU
ZXh0RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1ODJDQjA1MjFBNzhB
MTRCMDBBRkZDQzQgLyogU2ltcGxlTGluZUxheW91dFRleHRGcmFnbWVudEl0ZXJhdG9yLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNpbXBsZUxpbmVMYXlvdXRUZXh0RnJhZ21l
bnRJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1ODJDQjA1NDFBNzhB
MkIyMDBBRkZDQzQgLyogU2ltcGxlTGluZUxheW91dFRleHRGcmFnbWVudEl0ZXJhdG9yLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNpbXBsZUxpbmVMYXlvdXRUZXh0
RnJhZ21lbnRJdGVyYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU4NUQ2
REZCMUExNTM1NTYwMEZBNEYxMiAvKiBTaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2ltcGxlTGluZUxheW91dFJlc29sdmVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3OTA5LDYgKzE3OTE3LDEwIEBA
CiAJCTkzRUVDMUVDMDlDMjg3NzcwMEM1MTVEMSAvKiBodG1sICovID0gewogCQkJaXNhID0gUEJY
R3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk1ODI0QUJBMDFBRTgxMTE2MDA5MDc0QjcgLyog
UnVieUVsZW1lbnQuY3BwICovLAorCQkJCTU4MjRBQkExMUFFODExMTYwMDkwNzRCNyAvKiBSdWJ5
RWxlbWVudC5oICovLAorCQkJCTU4MjRBQkE0MUFFODEzODQwMDkwNzRCNyAvKiBSdWJ5VGV4dEVs
ZW1lbnQuY3BwICovLAorCQkJCTU4MjRBQkE1MUFFODEzODQwMDkwNzRCNyAvKiBSdWJ5VGV4dEVs
ZW1lbnQuaCAqLywKIAkJCQk0OTQ4NEZBRTEwMkNGMDFFMDAxODdERDMgLyogY2FudmFzICovLAog
CQkJCTFBODhBOTAxMTc1NTNDRDcwMDBDNzRGOSAvKiBmb3JtcyAqLywKIAkJCQk5N0MxRjU1MTEy
Mjg1NTg4MDBFREU2MTYgLyogcGFyc2VyICovLApAQCAtMjU0NzMsNiArMjU0ODUsNyBAQAogCQkJ
CUE4M0I3OTAyMENDQUZGMTUwMDBCMDgyNSAvKiBKU1NWR0ZvbnRGYWNlTmFtZUVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCUE4M0I3OEZFMENDQUZGMTUwMDBCMDgyNSAvKiBKU1NWR0ZvbnRG
YWNlU3JjRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgzQjc4RkMwQ0NBRkYxNTAwMEIw
ODI1IC8qIEpTU1ZHRm9udEZhY2VVcmlFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1ODI0
QUJBMzFBRTgxMTE2MDA5MDc0QjcgLyogUnVieUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUIyRkEzRDk5MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q5QjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdHRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzI0RUQzMzIxQTNBOEIyMzAwRjVGMTNDIC8qIEpT
RVhUQmxlbmRNaW5NYXguaCBpbiBIZWFkZXJzICovLApAQCAtMjY3MDYsNiArMjY3MTksNyBAQAog
CQkJCTgzQzFENDM2MTc4RDVBQjUwMDE0MUU2OCAvKiBTVkdQYXRoU2VnTW92ZXRvUmVsLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwODJERTQyRDEyOTI2MjE2MDBEOTIzREYgLyogU1ZHUGF0aFNlZ1dp
dGhDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDMwMEJEODEyMEM5QUQ0MDAyMTk1NEEg
LyogU1ZHUGF0aFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTgyNEFCQTcxQUU4MTM4NDAw
OTA3NEI3IC8qIFJ1YnlUZXh0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQxOUQyQkEx
MjBFMEM3NjAwMTQxRjhGIC8qIFNWR1BhdGhTdHJpbmdCdWlsZGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQk4NDMwMEJENjEyMEM5QUFDMDAyMTk1NEEgLyogU1ZHUGF0aFN0cmluZ1NvdXJjZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODRDNUIyRkIxMjE2REM4MTAwODhCNTNBIC8qIFNWR1BhdGhUcmF2
ZXJzYWxTdGF0ZUJ1aWxkZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjg4OTIsNiArMjg5MDYsNyBA
QAogCQkJCUU1MUE4MURGMTcyOThENzcwMEJGQ0E2MSAvKiBKU1BlcmZvcm1hbmNlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCThBOUE1ODcwMTFFODRDMzYwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNl
TmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQzQzg1RjE4OUUxNUE2MDAwMTlB
RTIgLyogSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1ODI0QUJB
NjFBRTgxMzg0MDA5MDc0QjcgLyogUnVieVRleHRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUZERUE2MjQ2MTUyMTAyRkMwMDQ3OURGMCAvKiBKU1BlcmlvZGljV2F2ZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk5M0I3MEQ2QjA5RUIwQzdDMDA5RDg0NjggLyogSlNQbHVnaW5FbGVtZW50
RnVuY3Rpb25zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxODlGMDFEMTBCMzdCRDkwMEYzQzcz
OSAvKiBKU1BvcFN0YXRlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yOTgyNyw2ICsyOTg0
Miw3IEBACiAJCQkJRkQwMEQ3QTQxNEEzRjYxOTAwNzM0MDExIC8qIFNpbmNSZXNhbXBsZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNTEzMjdENjExMUEzM0EyQjAwNEY5RDY1IC8qIFNpbmtEb2N1
bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUU5MTFDQzBFRjg2RDQ3MDA5RDBDQUYgLyog
U2tld1RyYW5zZm9ybU9wZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1ODI0QUJBMjFB
RTgxMTE2MDA5MDc0QjcgLyogUnVieUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE1
MEY5RjIxMkI2RTBFNzAwMDhDODYwIC8qIFNsaWRlclRodW1iRWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQzA5MzlFQTFBMTNFMTI5MDBCNzg4RTUgLyogQ2FjaGVkU1ZHRm9udC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk0QjZGQTZGNzBDMzlFNEExMDAwODcwMTEgLyogU21hcnRSZXBs
YWNlQ0YuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxUYWdOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCmlu
ZGV4IDBkMDk4NWQwY2ZmOGMyYWE4MTUxOTM2MDE0OGFkMmE1ZDU5NzYzMjIuLjkxMzg3YjA1MzZh
MWE5ZGI1ZWE4Y2U2M2NhNDgxZDdjZjM3MTQ0ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRhZ05hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhZ05h
bWVzLmluCkBAIC0xMDMsOSArMTAzLDkgQEAgcHJvZ3Jlc3MgaW50ZXJmYWNlTmFtZT1IVE1MUHJv
Z3Jlc3NFbGVtZW50CiBxIGludGVyZmFjZU5hbWU9SFRNTFF1b3RlRWxlbWVudAogcmIgaW50ZXJm
YWNlTmFtZT1IVE1MRWxlbWVudAogcnAgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAotcnQgaW50
ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAorcnQgaW50ZXJmYWNlTmFtZT1SdWJ5VGV4dEVsZW1lbnQs
IEpTSW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogcnRjIGludGVyZmFjZU5hbWU9SFRNTEVsZW1l
bnQKLXJ1YnkgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAorcnVieSBpbnRlcmZhY2VOYW1lPVJ1
YnlFbGVtZW50LCBKU0ludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHMgaW50ZXJmYWNlTmFtZT1I
VE1MRWxlbWVudAogc2FtcCBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBzY3JpcHQgY29uc3Ry
dWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9SdWJ5RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1J1YnlFbGVtZW50LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zMTUwODhkNmE5ODJjZmRkMmU1NWY0ZmMwOWNkMzdmMjk4ZWYwOWU0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9SdWJ5RWxlbWVudC5jcHAKQEAgLTAs
MCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJS
dWJ5RWxlbWVudC5oIgorCisjaW5jbHVkZSAiUmVuZGVyUnVieS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CisKK1J1YnlFbGVtZW50OjpSdWJ5
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQp
CisgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKK3sKKyAgICBBU1NFUlQoaGFz
VGFnTmFtZShydWJ5VGFnKSk7Cit9CisKK1JlZjxSdWJ5RWxlbWVudD4gUnVieUVsZW1lbnQ6OmNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCit7
CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUnVieUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQp
KTsKK30KKworUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IFJ1YnlFbGVtZW50OjpjcmVhdGVFbGVt
ZW50UmVuZGVyZXIoUmVmPFJlbmRlclN0eWxlPiYmIHN0eWxlKQoreworICAgIGlmIChzdHlsZS5n
ZXQoKS5kaXNwbGF5KCkgPT0gSU5MSU5FKQorICAgICAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8
UmVuZGVyUnVieUFzSW5saW5lPigqdGhpcywgV1RGOjptb3ZlKHN0eWxlKSk7CisgICAgaWYgKHN0
eWxlLmdldCgpLmRpc3BsYXkoKSA9PSBCTE9DSyB8fCBzdHlsZS5nZXQoKS5kaXNwbGF5KCkgPT0g
SU5MSU5FX0JMT0NLKQorICAgICAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyUnVieUFz
QmxvY2s+KCp0aGlzLCBXVEY6Om1vdmUoc3R5bGUpKTsKKyAgICByZXR1cm4gSFRNTEVsZW1lbnQ6
OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihXVEY6Om1vdmUoc3R5bGUpKTsKK30KKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9SdWJ5RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9SdWJ5RWxlbWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiY2U1ZGNkNGJmZGVjOTRjMDMwNzhjYTM4
NmQ1Yjc1MjE3ZjNhMDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1J1
YnlFbGVtZW50LmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUnVieUVs
ZW1lbnRfaAorI2RlZmluZSBSdWJ5RWxlbWVudF9oCisKKyNpbmNsdWRlICJIVE1MRWxlbWVudC5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFJ1YnlFbGVtZW50IGZpbmFsIDogcHVi
bGljIEhUTUxFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFJ1YnlFbGVtZW50PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CisKK3ByaXZhdGU6CisgICAg
UnVieUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CisgICAgdmlydHVh
bCBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gY3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlZjxSZW5k
ZXJTdHlsZT4mJikgb3ZlcnJpZGU7Cit9OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9SdWJ5VGV4dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9SdWJ5VGV4dEVsZW1lbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2YjIzNjJmMTRiODg3NDk5MDNjOWUx
ZjJmZjhjOWIwOTJmZDI1YmYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L1J1YnlUZXh0RWxlbWVudC5jcHAKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSdWJ5VGV4dEVsZW1lbnQuaCIKKworI2luY2x1ZGUg
IlJlbmRlclJ1YnkuaCIKKyNpbmNsdWRlICJSZW5kZXJSdWJ5VGV4dC5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CisKK1J1YnlUZXh0RWxlbWVu
dDo6UnVieVRleHRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
JiBkb2N1bWVudCkKKyAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQoreworICAg
IEFTU0VSVChoYXNUYWdOYW1lKHJ0VGFnKSk7Cit9CisKK1JlZjxSdWJ5VGV4dEVsZW1lbnQ+IFJ1
YnlUZXh0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50JiBkb2N1bWVudCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSdWJ5VGV4dEVsZW1l
bnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKK30KKworUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IFJ1
YnlUZXh0RWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlZjxSZW5kZXJTdHlsZT4mJiBz
dHlsZSkKK3sKKyAgICAvLyBUcmVhdCA8cnQ+IGFzIHJ1YnkgdGV4dCBPTkxZIGlmIHRoZSBwYXJl
bnQgaXMgcnVieS4KKyAgICBpZiAocGFyZW50RWxlbWVudCgpICYmIGlzUnVieShwYXJlbnRFbGVt
ZW50KCktPnJlbmRlcmVyKCkpKQorICAgICAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVy
UnVieVRleHQ+KCp0aGlzLCBXVEY6Om1vdmUoc3R5bGUpKTsKKyAgICByZXR1cm4gSFRNTEVsZW1l
bnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihXVEY6Om1vdmUoc3R5bGUpKTsKK30KKworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9SdWJ5VGV4dEVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvUnVieVRleHRFbGVtZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGFjNWEwYzUxMTQ3ZGM5
MmIzZTYxN2QyYjcxNjYwNzFhMjMyZmQzNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvUnVieVRleHRFbGVtZW50LmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgUnVieVRleHRFbGVtZW50X2gKKyNkZWZpbmUgUnVieVRleHRFbGVtZW50X2gKKwor
I2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
UnVieVRleHRFbGVtZW50IGZpbmFsIDogcHVibGljIEhUTUxFbGVtZW50IHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUmVmPFJ1YnlUZXh0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYpOworCitwcml2YXRlOgorICAgIFJ1YnlUZXh0RWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKKyAgICB2aXJ0dWFsIFJlbmRlclB0cjxSZW5kZXJFbGVt
ZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVmPFJlbmRlclN0eWxlPiYmKSBvdmVycmlkZTsK
K307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5jcHAKaW5kZXggN2FmOTZlMTY1YmVmMGU0OTYzODExZGVmNjI3MzFkNjY4ZTQwZjQ3ZS4uMDhm
N2UxNTM5ZWM4MDhlN2VkYWYyZTU0YzI3NjdjZTk5OGRjYTQ0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtMTU4LDE1ICsxNTgsNiBAQCBSZW5kZXJQ
dHI8UmVuZGVyRWxlbWVudD4gUmVuZGVyRWxlbWVudDo6Y3JlYXRlRm9yKEVsZW1lbnQmIGVsZW1l
bnQsIFJlZjxSZW5kZXJTdAogICAgICAgICByZXR1cm4gV1RGOjptb3ZlKGltYWdlKTsKICAgICB9
CiAKLSAgICBpZiAoZWxlbWVudC5oYXNUYWdOYW1lKEhUTUxOYW1lczo6cnVieVRhZykpIHsKLSAg
ICAgICAgaWYgKHN0eWxlLmdldCgpLmRpc3BsYXkoKSA9PSBJTkxJTkUpCi0gICAgICAgICAgICBy
ZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyUnVieUFzSW5saW5lPihlbGVtZW50LCBXVEY6Om1v
dmUoc3R5bGUpKTsKLSAgICAgICAgaWYgKHN0eWxlLmdldCgpLmRpc3BsYXkoKSA9PSBCTE9DSyB8
fCBzdHlsZS5nZXQoKS5kaXNwbGF5KCkgPT0gSU5MSU5FX0JMT0NLKQotICAgICAgICAgICAgcmV0
dXJuIGNyZWF0ZVJlbmRlcmVyPFJlbmRlclJ1YnlBc0Jsb2NrPihlbGVtZW50LCBXVEY6Om1vdmUo
c3R5bGUpKTsKLSAgICB9Ci0gICAgLy8gdHJlYXQgPHJ0PiBhcyBydWJ5IHRleHQgT05MWSBpZiB0
aGUgcGFyZW50IGlzIHJ1YnkuCi0gICAgaWYgKGVsZW1lbnQuaGFzVGFnTmFtZShIVE1MTmFtZXM6
OnJ0VGFnKSAmJiBlbGVtZW50LnBhcmVudEVsZW1lbnQoKSAmJiBpc1J1YnkoZWxlbWVudC5wYXJl
bnRFbGVtZW50KCktPnJlbmRlcmVyKCkpKQotICAgICAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8
UmVuZGVyUnVieVRleHQ+KGVsZW1lbnQsIFdURjo6bW92ZShzdHlsZSkpOwogICAgIHN3aXRjaCAo
c3R5bGUuZ2V0KCkuZGlzcGxheSgpKSB7CiAgICAgY2FzZSBOT05FOgogICAgICAgICByZXR1cm4g
bnVsbHB0cjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251363</attachid>
            <date>2015-04-22 13:17:45 -0700</date>
            <delta_ts>2015-04-22 13:17:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144058-20150422131641.patch</filename>
            <type>text/plain</type>
            <size>21887</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzVjYzc5MjE0OTZmZjY5
ZmY0MjFlZDQ1MzQ0MThmMjAxMGQ1OTdkYy4uMWU4ZjIzMTE4YTBlNWUyZjY4M2E1N2M5ZWE1ODYy
YTRlNGFiNWI2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE1LTA0LTIyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSByZW5kZXIgcnVieSBp
bml0aWFsaXphdGlvbiBsb2dpYyBmcm9tIFJlbmRlckVsZW1lbnQ6OmNyZWF0ZUZvcigpIHRvICo6
OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDQwNTgKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KKworICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6
CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1s
L0hUTUxUYWdOYW1lcy5pbjoKKyAgICAgICAgKiBodG1sL1J1YnlFbGVtZW50LmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpSdWJ5RWxlbWVudDo6UnVieUVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6UnVieUVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSdWJ5RWxl
bWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKToKKyAgICAgICAgKiBodG1sL1J1YnlFbGVtZW50
Lmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwvUnVieVRleHRFbGVtZW50LmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSdWJ5VGV4dEVsZW1lbnQ6OlJ1YnlUZXh0RWxlbWVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpSdWJ5VGV4dEVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSdWJ5VGV4dEVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRt
bC9SdWJ5VGV4dEVsZW1lbnQuaDogQWRkZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y3JlYXRlRm9yKToK
KwogMjAxNS0wNC0yMiAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEu
Y29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgogCiAg
ICAgICAgIFtTdHJlYW1zIEFQSV0gSW1wbGVtZW50IFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlcgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCAyZDU2ZGFmOTE4ZTczM2NlMzAyMGE2OWYzMmUzYWFjZmI4
MWNiMzQ2Li42MzYwMmQwMmVhMjlkYzBhZmRlMWJlNTBiZjJhNzMzMjUzM2Q5ODU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtMTY4OCw2ICsxNjg4LDggQEAgc2V0KFdlYkNvcmVfU09VUkNFUwog
ICAgIGh0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwCiAgICAgaHRtbC9SZWxMaXN0LmNwcAogICAgIGh0
bWwvUmVzZXRJbnB1dFR5cGUuY3BwCisgICAgaHRtbC9SdWJ5RWxlbWVudC5jcHAKKyAgICBodG1s
L1J1YnlUZXh0RWxlbWVudC5jcHAKICAgICBodG1sL1NlYXJjaElucHV0VHlwZS5jcHAKICAgICBo
dG1sL1N0ZXBSYW5nZS5jcHAKICAgICBodG1sL1N1Ym1pdElucHV0VHlwZS5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDRmOWZkOTZj
NDE0MzE2MTBiYTAwZmNkYzJlYjdmMGYxYzU3NDdlMjQuLmMwYjFiNWU3MzcwZTI5YmEwZThhOWNh
MzU4YmE0ODdmY2E4N2ExMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvagpAQCAtMTYyNDQsNiArMTYyNDQsOCBAQAogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caHRtbFxSYW5nZUlucHV0VHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxodG1sXFJlbExpc3QuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5caHRtbFxSZXNldElucHV0VHlwZS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxodG1sXFJ1YnlFbGVtZW50LmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0
bWxcUnVieVRleHRFbGVtZW50LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0
bWxcU2VhcmNoSW5wdXRUeXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0
bWxcU3RlcFJhbmdlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcU3Vi
bWl0SW5wdXRUeXBlLmNwcCIgLz4KQEAgLTIxMjc4LDYgKzIxMjgwLDggQEAKICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGh0bWxcUmFuZ2VJbnB1dFR5cGUuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGh0bWxcUmVsTGlzdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5caHRtbFxSZXNldElucHV0VHlwZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aHRtbFxSdWJ5RWxlbWVudC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxS
dWJ5VGV4dEVsZW1lbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcU2Vh
cmNoSW5wdXRUeXBlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFN0ZXBS
YW5nZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxTdWJtaXRJbnB1dFR5
cGUuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycwppbmRleCA5MTQ3NDAxODAyNzlkMDdiOTk0NzJlYjFhYzBjZjgz
NDYzZGNiNGY2Li4yYTVkZDk2MDZkZWEyMjc5MDlmZDJiZDYzNTI2NDkxNWVmNmVmMDUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCkBAIC00MDA4LDYgKzQwMDgsMTIgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGh0bWxcUmVzZXRJbnB1dFR5cGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVy
PgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxSdWJ5
RWxlbWVudC5jcHAiPgorICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CisgICAgPC9DbENvbXBp
bGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXFJ1YnlUZXh0RWxlbWVudC5jcHAi
PgorICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXFNlYXJjaElucHV0VHlwZS5jcHAiPgogICAgICAgPEZp
bHRlcj5odG1sPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0xMTE3Miw2ICsxMTE3OCwx
MiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxSZXNldElucHV0VHlwZS5oIj4K
ICAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxSdWJ5RWxlbWVudC5oIj4KKyAgICAgIDxGaWx0ZXI+aHRt
bDwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aHRtbFxSdWJ5VGV4dEVsZW1lbnQuaCI+CisgICAgICA8RmlsdGVyPmh0bWw8L0ZpbHRlcj4KKyAg
ICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcU2VhcmNoSW5w
dXRUeXBlLmgiPgogICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggMTRkYmQ3MGJjODczZmQ4Yjc1NDc4N2UxMGIyZGY2NTE1ZWFhODA1NS4uOGY0MDJiYjM1
NTAwYWZjNTA2YmU5NmY1M2M0ZGRmMzY2OTQxNGRhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjExNyw2ICsyMTE3LDEwIEBA
CiAJCTU4MDM3MTYxMUE2NkYwMEEwMEJBRjUxOSAvKiBDbGlwUmVjdC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1ODAzNzE1RjFBNjZGMDBBMDBCQUY1
MTkgLyogQ2xpcFJlY3QuY3BwICovOyB9OwogCQk1ODAzNzE2MjFBNjZGMDBBMDBCQUY1MTkgLyog
Q2xpcFJlY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU4MDM3MTYwMUE2NkYwMEEwMEJBRjUxOSAvKiBDbGlwUmVjdC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU4MDM3MTY0MUE2NkYxRDMwMEJBRjUx
OSAvKiBMYXllckZyYWdtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1ODAzNzE2MzFBNjZGMUQzMDBCQUY1MTkgLyogTGF5ZXJGcmFnbWVudC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTU4MjRBQkEy
MUFFODExMTYwMDkwNzRCNyAvKiBSdWJ5RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1ODI0QUJBMDFBRTgxMTE2MDA5MDc0QjcgLyogUnVi
eUVsZW1lbnQuY3BwICovOyB9OworCQk1ODI0QUJBMzFBRTgxMTE2MDA5MDc0QjcgLyogUnVieUVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU4
MjRBQkExMUFFODExMTYwMDkwNzRCNyAvKiBSdWJ5RWxlbWVudC5oICovOyB9OworCQk1ODI0QUJB
NjFBRTgxMzg0MDA5MDc0QjcgLyogUnVieVRleHRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU4MjRBQkE0MUFFODEzODQwMDkwNzRCNyAv
KiBSdWJ5VGV4dEVsZW1lbnQuY3BwICovOyB9OworCQk1ODI0QUJBNzFBRTgxMzg0MDA5MDc0Qjcg
LyogUnVieVRleHRFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1ODI0QUJBNTFBRTgxMzg0MDA5MDc0QjcgLyogUnVieVRleHRFbGVtZW50Lmgg
Ki87IH07CiAJCTU4MkNCMDUzMUE3OEExNEIwMEFGRkNDNCAvKiBTaW1wbGVMaW5lTGF5b3V0VGV4
dEZyYWdtZW50SXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU4MkNCMDUyMUE3OEExNEIwMEFGRkNDNCAvKiBTaW1wbGVMaW5lTGF5b3V0VGV4
dEZyYWdtZW50SXRlcmF0b3IuaCAqLzsgfTsKIAkJNTgyQ0IwNTUxQTc4QTJCMjAwQUZGQ0M0IC8q
IFNpbXBsZUxpbmVMYXlvdXRUZXh0RnJhZ21lbnRJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1ODJDQjA1NDFBNzhBMkIyMDBBRkZDQzQg
LyogU2ltcGxlTGluZUxheW91dFRleHRGcmFnbWVudEl0ZXJhdG9yLmNwcCAqLzsgfTsKIAkJNTg1
RDZERkMxQTE1MzU1NjAwRkE0RjEyIC8qIFNpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1ODVENkRGQjFBMTUz
NTU2MDBGQTRGMTIgLyogU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmNwcCAqLzsgfTsKQEAgLTkz
MjgsNiArOTMzMiwxMCBAQAogCQk1ODAzNzE1RjFBNjZGMDBBMDBCQUY1MTkgLyogQ2xpcFJlY3Qu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2xpcFJlY3QuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1ODAzNzE2MDFBNjZGMDBBMDBCQUY1MTkgLyog
Q2xpcFJlY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xpcFJlY3QuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTgwMzcxNjMxQTY2RjFEMzAwQkFGNTE5IC8q
IExheWVyRnJhZ21lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5ZXJG
cmFnbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1ODI0QUJBMDFBRTgxMTE2
MDA5MDc0QjcgLyogUnVieUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUnVieUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
ODI0QUJBMTFBRTgxMTE2MDA5MDc0QjcgLyogUnVieUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUnVieUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTgyNEFCQTQxQUU4MTM4NDAwOTA3NEI3IC8qIFJ1YnlUZXh0RWxlbWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSdWJ5VGV4dEVsZW1lbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1ODI0QUJBNTFBRTgxMzg0MDA5MDc0QjcgLyog
UnVieVRleHRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJ1YnlU
ZXh0RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1ODJDQjA1MjFBNzhB
MTRCMDBBRkZDQzQgLyogU2ltcGxlTGluZUxheW91dFRleHRGcmFnbWVudEl0ZXJhdG9yLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNpbXBsZUxpbmVMYXlvdXRUZXh0RnJhZ21l
bnRJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1ODJDQjA1NDFBNzhB
MkIyMDBBRkZDQzQgLyogU2ltcGxlTGluZUxheW91dFRleHRGcmFnbWVudEl0ZXJhdG9yLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNpbXBsZUxpbmVMYXlvdXRUZXh0
RnJhZ21lbnRJdGVyYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU4NUQ2
REZCMUExNTM1NTYwMEZBNEYxMiAvKiBTaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2ltcGxlTGluZUxheW91dFJlc29sdmVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3OTA5LDYgKzE3OTE3LDEwIEBA
CiAJCTkzRUVDMUVDMDlDMjg3NzcwMEM1MTVEMSAvKiBodG1sICovID0gewogCQkJaXNhID0gUEJY
R3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk1ODI0QUJBMDFBRTgxMTE2MDA5MDc0QjcgLyog
UnVieUVsZW1lbnQuY3BwICovLAorCQkJCTU4MjRBQkExMUFFODExMTYwMDkwNzRCNyAvKiBSdWJ5
RWxlbWVudC5oICovLAorCQkJCTU4MjRBQkE0MUFFODEzODQwMDkwNzRCNyAvKiBSdWJ5VGV4dEVs
ZW1lbnQuY3BwICovLAorCQkJCTU4MjRBQkE1MUFFODEzODQwMDkwNzRCNyAvKiBSdWJ5VGV4dEVs
ZW1lbnQuaCAqLywKIAkJCQk0OTQ4NEZBRTEwMkNGMDFFMDAxODdERDMgLyogY2FudmFzICovLAog
CQkJCTFBODhBOTAxMTc1NTNDRDcwMDBDNzRGOSAvKiBmb3JtcyAqLywKIAkJCQk5N0MxRjU1MTEy
Mjg1NTg4MDBFREU2MTYgLyogcGFyc2VyICovLApAQCAtMjU0NzMsNiArMjU0ODUsNyBAQAogCQkJ
CUE4M0I3OTAyMENDQUZGMTUwMDBCMDgyNSAvKiBKU1NWR0ZvbnRGYWNlTmFtZUVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCUE4M0I3OEZFMENDQUZGMTUwMDBCMDgyNSAvKiBKU1NWR0ZvbnRG
YWNlU3JjRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgzQjc4RkMwQ0NBRkYxNTAwMEIw
ODI1IC8qIEpTU1ZHRm9udEZhY2VVcmlFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1ODI0
QUJBMzFBRTgxMTE2MDA5MDc0QjcgLyogUnVieUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUIyRkEzRDk5MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q5QjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdHRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzI0RUQzMzIxQTNBOEIyMzAwRjVGMTNDIC8qIEpT
RVhUQmxlbmRNaW5NYXguaCBpbiBIZWFkZXJzICovLApAQCAtMjY3MDYsNiArMjY3MTksNyBAQAog
CQkJCTgzQzFENDM2MTc4RDVBQjUwMDE0MUU2OCAvKiBTVkdQYXRoU2VnTW92ZXRvUmVsLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwODJERTQyRDEyOTI2MjE2MDBEOTIzREYgLyogU1ZHUGF0aFNlZ1dp
dGhDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDMwMEJEODEyMEM5QUQ0MDAyMTk1NEEg
LyogU1ZHUGF0aFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTgyNEFCQTcxQUU4MTM4NDAw
OTA3NEI3IC8qIFJ1YnlUZXh0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQxOUQyQkEx
MjBFMEM3NjAwMTQxRjhGIC8qIFNWR1BhdGhTdHJpbmdCdWlsZGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQk4NDMwMEJENjEyMEM5QUFDMDAyMTk1NEEgLyogU1ZHUGF0aFN0cmluZ1NvdXJjZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODRDNUIyRkIxMjE2REM4MTAwODhCNTNBIC8qIFNWR1BhdGhUcmF2
ZXJzYWxTdGF0ZUJ1aWxkZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjg4OTIsNiArMjg5MDYsNyBA
QAogCQkJCUU1MUE4MURGMTcyOThENzcwMEJGQ0E2MSAvKiBKU1BlcmZvcm1hbmNlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCThBOUE1ODcwMTFFODRDMzYwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNl
TmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQzQzg1RjE4OUUxNUE2MDAwMTlB
RTIgLyogSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1ODI0QUJB
NjFBRTgxMzg0MDA5MDc0QjcgLyogUnVieVRleHRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUZERUE2MjQ2MTUyMTAyRkMwMDQ3OURGMCAvKiBKU1BlcmlvZGljV2F2ZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk5M0I3MEQ2QjA5RUIwQzdDMDA5RDg0NjggLyogSlNQbHVnaW5FbGVtZW50
RnVuY3Rpb25zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxODlGMDFEMTBCMzdCRDkwMEYzQzcz
OSAvKiBKU1BvcFN0YXRlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yOTgyNyw2ICsyOTg0
Miw3IEBACiAJCQkJRkQwMEQ3QTQxNEEzRjYxOTAwNzM0MDExIC8qIFNpbmNSZXNhbXBsZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNTEzMjdENjExMUEzM0EyQjAwNEY5RDY1IC8qIFNpbmtEb2N1
bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUU5MTFDQzBFRjg2RDQ3MDA5RDBDQUYgLyog
U2tld1RyYW5zZm9ybU9wZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1ODI0QUJBMjFB
RTgxMTE2MDA5MDc0QjcgLyogUnVieUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE1
MEY5RjIxMkI2RTBFNzAwMDhDODYwIC8qIFNsaWRlclRodW1iRWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQzA5MzlFQTFBMTNFMTI5MDBCNzg4RTUgLyogQ2FjaGVkU1ZHRm9udC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk0QjZGQTZGNzBDMzlFNEExMDAwODcwMTEgLyogU21hcnRSZXBs
YWNlQ0YuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxUYWdOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCmlu
ZGV4IDBkMDk4NWQwY2ZmOGMyYWE4MTUxOTM2MDE0OGFkMmE1ZDU5NzYzMjIuLjkxMzg3YjA1MzZh
MWE5ZGI1ZWE4Y2U2M2NhNDgxZDdjZjM3MTQ0ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRhZ05hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhZ05h
bWVzLmluCkBAIC0xMDMsOSArMTAzLDkgQEAgcHJvZ3Jlc3MgaW50ZXJmYWNlTmFtZT1IVE1MUHJv
Z3Jlc3NFbGVtZW50CiBxIGludGVyZmFjZU5hbWU9SFRNTFF1b3RlRWxlbWVudAogcmIgaW50ZXJm
YWNlTmFtZT1IVE1MRWxlbWVudAogcnAgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAotcnQgaW50
ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAorcnQgaW50ZXJmYWNlTmFtZT1SdWJ5VGV4dEVsZW1lbnQs
IEpTSW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogcnRjIGludGVyZmFjZU5hbWU9SFRNTEVsZW1l
bnQKLXJ1YnkgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAorcnVieSBpbnRlcmZhY2VOYW1lPVJ1
YnlFbGVtZW50LCBKU0ludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHMgaW50ZXJmYWNlTmFtZT1I
VE1MRWxlbWVudAogc2FtcCBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBzY3JpcHQgY29uc3Ry
dWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9SdWJ5RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1J1YnlFbGVtZW50LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YTkyMWVkMzI3YWRiOTllMTU0YmNiY2VlMzVhNjI0MzI3NmJkYjU0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9SdWJ5RWxlbWVudC5jcHAKQEAgLTAs
MCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJS
dWJ5RWxlbWVudC5oIgorCisjaW5jbHVkZSAiUmVuZGVyUnVieS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CisKK1J1YnlFbGVtZW50OjpSdWJ5
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQp
CisgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKK3sKKyAgICBBU1NFUlQoaGFz
VGFnTmFtZShydWJ5VGFnKSk7Cit9CisKK1JlZjxSdWJ5RWxlbWVudD4gUnVieUVsZW1lbnQ6OmNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCit7
CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUnVieUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQp
KTsKK30KKworUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IFJ1YnlFbGVtZW50OjpjcmVhdGVFbGVt
ZW50UmVuZGVyZXIoUmVmPFJlbmRlclN0eWxlPiYmIHN0eWxlKQoreworICAgIGlmIChzdHlsZS0+
ZGlzcGxheSgpID09IElOTElORSkKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVJlbmRlcmVyPFJlbmRl
clJ1YnlBc0lubGluZT4oKnRoaXMsIFdURjo6bW92ZShzdHlsZSkpOworICAgIGlmIChzdHlsZS0+
ZGlzcGxheSgpID09IEJMT0NLIHx8IHN0eWxlLmdldCgpLmRpc3BsYXkoKSA9PSBJTkxJTkVfQkxP
Q0spCisgICAgICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxSZW5kZXJSdWJ5QXNCbG9jaz4oKnRo
aXMsIFdURjo6bW92ZShzdHlsZSkpOworICAgIHJldHVybiBIVE1MRWxlbWVudDo6Y3JlYXRlRWxl
bWVudFJlbmRlcmVyKFdURjo6bW92ZShzdHlsZSkpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL1J1YnlFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1J1YnlF
bGVtZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGJjZTVkY2Q0YmZkZWM5NGMwMzA3OGNhMzg2ZDViNzUyMTdm
M2EwOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUnVieUVsZW1lbnQu
aApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBSdWJ5RWxlbWVudF9oCisj
ZGVmaW5lIFJ1YnlFbGVtZW50X2gKKworI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUnVieUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgSFRNTEVs
ZW1lbnQgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UnVieUVsZW1lbnQ+IGNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKKworcHJpdmF0ZToKKyAgICBSdWJ5RWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKKyAgICB2aXJ0dWFsIFJlbmRlclB0
cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVmPFJlbmRlclN0eWxlPiYm
KSBvdmVycmlkZTsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1J1YnlUZXh0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1J1YnlUZXh0
RWxlbWVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTZiMjM2MmYxNGI4ODc0OTkwM2M5ZTFmMmZmOGM5YjA5
MmZkMjViZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUnVieVRleHRF
bGVtZW50LmNwcApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlJ1YnlUZXh0RWxlbWVudC5oIgorCisjaW5jbHVkZSAiUmVuZGVyUnVi
eS5oIgorI2luY2x1ZGUgIlJlbmRlclJ1YnlUZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KwordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKworUnVieVRleHRFbGVtZW50OjpSdWJ5VGV4
dEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50
KQorICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCit7CisgICAgQVNTRVJUKGhh
c1RhZ05hbWUocnRUYWcpKTsKK30KKworUmVmPFJ1YnlUZXh0RWxlbWVudD4gUnVieVRleHRFbGVt
ZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3Vt
ZW50KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJ1YnlUZXh0RWxlbWVudCh0YWdOYW1l
LCBkb2N1bWVudCkpOworfQorCitSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gUnVieVRleHRFbGVt
ZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVmPFJlbmRlclN0eWxlPiYmIHN0eWxlKQorewor
ICAgIC8vIFRyZWF0IDxydD4gYXMgcnVieSB0ZXh0IE9OTFkgaWYgdGhlIHBhcmVudCBpcyBydWJ5
LgorICAgIGlmIChwYXJlbnRFbGVtZW50KCkgJiYgaXNSdWJ5KHBhcmVudEVsZW1lbnQoKS0+cmVu
ZGVyZXIoKSkpCisgICAgICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxSZW5kZXJSdWJ5VGV4dD4o
KnRoaXMsIFdURjo6bW92ZShzdHlsZSkpOworICAgIHJldHVybiBIVE1MRWxlbWVudDo6Y3JlYXRl
RWxlbWVudFJlbmRlcmVyKFdURjo6bW92ZShzdHlsZSkpOworfQorCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL1J1YnlUZXh0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9SdWJ5VGV4dEVsZW1lbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYWM1YTBjNTExNDdkYzkyYjNlNjE3ZDJi
NzE2NjA3MWEyMzJmZDM3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9S
dWJ5VGV4dEVsZW1lbnQuaApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBS
dWJ5VGV4dEVsZW1lbnRfaAorI2RlZmluZSBSdWJ5VGV4dEVsZW1lbnRfaAorCisjaW5jbHVkZSAi
SFRNTEVsZW1lbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSdWJ5VGV4dEVs
ZW1lbnQgZmluYWwgOiBwdWJsaWMgSFRNTEVsZW1lbnQgeworcHVibGljOgorICAgIHN0YXRpYyBS
ZWY8UnVieVRleHRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Jik7CisKK3ByaXZhdGU6CisgICAgUnVieVRleHRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYpOworICAgIHZpcnR1YWwgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0
ZUVsZW1lbnRSZW5kZXJlcihSZWY8UmVuZGVyU3R5bGU+JiYpIG92ZXJyaWRlOworfTsKKworfQor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRl
eCA3YWY5NmUxNjViZWYwZTQ5NjM4MTFkZWY2MjczMWQ2NjhlNDBmNDdlLi4wOGY3ZTE1MzllYzgw
OGU3ZWRhZjJlNTRjMjc2N2NlOTk4ZGNhNDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuY3BwCkBAIC0xNTgsMTUgKzE1OCw2IEBAIFJlbmRlclB0cjxSZW5kZXJF
bGVtZW50PiBSZW5kZXJFbGVtZW50OjpjcmVhdGVGb3IoRWxlbWVudCYgZWxlbWVudCwgUmVmPFJl
bmRlclN0CiAgICAgICAgIHJldHVybiBXVEY6Om1vdmUoaW1hZ2UpOwogICAgIH0KIAotICAgIGlm
IChlbGVtZW50Lmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpydWJ5VGFnKSkgewotICAgICAgICBpZiAo
c3R5bGUuZ2V0KCkuZGlzcGxheSgpID09IElOTElORSkKLSAgICAgICAgICAgIHJldHVybiBjcmVh
dGVSZW5kZXJlcjxSZW5kZXJSdWJ5QXNJbmxpbmU+KGVsZW1lbnQsIFdURjo6bW92ZShzdHlsZSkp
OwotICAgICAgICBpZiAoc3R5bGUuZ2V0KCkuZGlzcGxheSgpID09IEJMT0NLIHx8IHN0eWxlLmdl
dCgpLmRpc3BsYXkoKSA9PSBJTkxJTkVfQkxPQ0spCi0gICAgICAgICAgICByZXR1cm4gY3JlYXRl
UmVuZGVyZXI8UmVuZGVyUnVieUFzQmxvY2s+KGVsZW1lbnQsIFdURjo6bW92ZShzdHlsZSkpOwot
ICAgIH0KLSAgICAvLyB0cmVhdCA8cnQ+IGFzIHJ1YnkgdGV4dCBPTkxZIGlmIHRoZSBwYXJlbnQg
aXMgcnVieS4KLSAgICBpZiAoZWxlbWVudC5oYXNUYWdOYW1lKEhUTUxOYW1lczo6cnRUYWcpICYm
IGVsZW1lbnQucGFyZW50RWxlbWVudCgpICYmIGlzUnVieShlbGVtZW50LnBhcmVudEVsZW1lbnQo
KS0+cmVuZGVyZXIoKSkpCi0gICAgICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxSZW5kZXJSdWJ5
VGV4dD4oZWxlbWVudCwgV1RGOjptb3ZlKHN0eWxlKSk7CiAgICAgc3dpdGNoIChzdHlsZS5nZXQo
KS5kaXNwbGF5KCkpIHsKICAgICBjYXNlIE5PTkU6CiAgICAgICAgIHJldHVybiBudWxscHRyOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>