<?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>149207</bug_id>
          
          <creation_ts>2015-09-15 22:42:25 -0700</creation_ts>
          <short_desc>Remove all uses of PassRefPtr in WebCore/bindings</short_desc>
          <delta_ts>2015-09-16 20:00:55 -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>WebKit 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>144092</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1126281</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-09-15 22:42:25 -0700</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126284</commentid>
    <comment_count>1</comment_count>
      <attachid>261297</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-09-15 22:49:31 -0700</bug_when>
    <thetext>Created attachment 261297
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126285</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-15 22:52:18 -0700</bug_when>
    <thetext>Attachment 261297 did not pass style-queue:


ERROR: Source/WebCore/bridge/NP_jsobject.h:50:  _NPN_CreateScriptObject is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/bridge/NP_jsobject.cpp:144:  _NPN_CreateScriptObject is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 2 in 20 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>1126309</commentid>
    <comment_count>3</comment_count>
      <attachid>261301</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-09-16 00:54:05 -0700</bug_when>
    <thetext>Created attachment 261301
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126310</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-16 00:56:37 -0700</bug_when>
    <thetext>Attachment 261301 did not pass style-queue:


ERROR: Source/WebCore/bridge/NP_jsobject.h:50:  _NPN_CreateScriptObject is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/bridge/NP_jsobject.cpp:144:  _NPN_CreateScriptObject is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 2 in 20 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>1126578</commentid>
    <comment_count>5</comment_count>
      <attachid>261301</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-16 20:00:47 -0700</bug_when>
    <thetext>Comment on attachment 261301
Patch

Clearing flags on attachment: 261301

Committed r189895: &lt;http://trac.webkit.org/changeset/189895&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126579</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-16 20:00:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261297</attachid>
            <date>2015-09-15 22:49:31 -0700</date>
            <delta_ts>2015-09-16 00:54:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149207-20150916144919.patch</filename>
            <type>text/plain</type>
            <size>19585</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5ODQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjY5MTk4ZTFlNjc4ZWI5
OTdlMzliMzYxODliMmJkZWUxZjcyZTIzMi4uNzUxZDlhOTQzZjEwOTBiMTMyNTE3OTkxMGE0YTg3
NWY0ODRjMDYxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDE1LTA5LTE1ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgYWxs
IHVzZXMgb2YgUGFzc1JlZlB0ciBpbiBXZWJDb3JlL2JpbmRpbmdzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkyMDcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiBSZWZQdHI8PiYmIGFyZ3VtZW50IGlz
IHBhc3NlZCB0byBuZXcgdmFyaWFibGUgb3Igb3RoZXIgZnVuY3Rpb24sIHdlIHVzZSBjb3B5UmVm
KCkgb3IgV1RGOjptb3ZlKCkuCisgICAgICAgIGNvcHlSZWYoKSBzaG91bGQgYmUgdXNlZCB3aGVu
IHRoZSBhcmd1bWVudCBpcyBzdGlsbCB1c2VkIGluc2lkZSBmdW5jdGlvbi4gSWYgaXQgaXMgZmlu
YWwgdXNlCisgICAgICAgIGluIGZ1bmN0aW9uLCB3ZSBoYXZlIHRvIHVzZSBXVEY6Om1vdmUoKS4K
KworICAgICAgICAqIGJyaWRnZS9OUF9qc29iamVjdC5jcHA6CisgICAgICAgICogYnJpZGdlL05Q
X2pzb2JqZWN0Lmg6CisgICAgICAgICogYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuY3BwOgorICAg
ICAgICAoSlNDOjpCaW5kaW5nczo6Q1J1bnRpbWVPYmplY3Q6OkNSdW50aW1lT2JqZWN0KToKKyAg
ICAgICAgKiBicmlkZ2UvYy9DUnVudGltZU9iamVjdC5oOgorICAgICAgICAoSlNDOjpCaW5kaW5n
czo6Q1J1bnRpbWVPYmplY3Q6OmNyZWF0ZSk6CisgICAgICAgICogYnJpZGdlL2MvY19pbnN0YW5j
ZS5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpDSW5zdGFuY2U6OkNJbnN0YW5jZSk6Cisg
ICAgICAgICogYnJpZGdlL2MvY19pbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6
Q0luc3RhbmNlOjpjcmVhdGUpOgorICAgICAgICAqIGJyaWRnZS9qc2MvQnJpZGdlSlNDLmNwcDoK
KyAgICAgICAgKEpTQzo6QmluZGluZ3M6OkFycmF5OjpBcnJheSk6CisgICAgICAgIChKU0M6OkJp
bmRpbmdzOjpJbnN0YW5jZTo6SW5zdGFuY2UpOgorICAgICAgICAqIGJyaWRnZS9qc2MvQnJpZGdl
SlNDLmg6CisgICAgICAgICogYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QuaDoKKyAgICAg
ICAgKEpTQzo6QmluZGluZ3M6Ok9iakNSdW50aW1lT2JqZWN0OjpjcmVhdGUpOgorICAgICAgICAq
IGJyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0Lm1tOgorICAgICAgICAoSlNDOjpCaW5kaW5n
czo6T2JqQ1J1bnRpbWVPYmplY3Q6Ok9iakNSdW50aW1lT2JqZWN0KToKKyAgICAgICAgKiBicmlk
Z2Uvb2JqYy9XZWJTY3JpcHRPYmplY3RQcm90b2NvbC5oOgorICAgICAgICAqIGJyaWRnZS9vYmpj
L29iamNfaW5zdGFuY2UuaDoKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpjX2luc3RhbmNlLm1t
OgorICAgICAgICAoT2JqY0luc3RhbmNlOjpPYmpjSW5zdGFuY2UpOgorICAgICAgICAoT2JqY0lu
c3RhbmNlOjpjcmVhdGUpOgorICAgICAgICAqIGJyaWRnZS9vYmpjL29iamNfcnVudGltZS5oOgor
ICAgICAgICAqIGJyaWRnZS9vYmpjL29iamNfcnVudGltZS5tbToKKyAgICAgICAgKEpTQzo6Qmlu
ZGluZ3M6Ok9iamNBcnJheTo6T2JqY0FycmF5KToKKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9v
YmplY3QuY3BwOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6UnVudGltZU9iamVjdDo6UnVudGlt
ZU9iamVjdCk6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfb2JqZWN0Lmg6CisgICAgICAgICog
YnJpZGdlL3J1bnRpbWVfcm9vdC5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpSb290T2Jq
ZWN0OjpjcmVhdGUpOgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX3Jvb3QuaDoKKwogMjAxNS0w
OS0xNSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBHVEsrIGJ1
aWxkIGZpeCBhdHRlbXB0IGFmdGVyIHIxODk4NDEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2UvTlBfanNvYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL05QX2pzb2Jq
ZWN0LmNwcAppbmRleCA1OWM5Yzc0MmQyZmQwMzgyZDY0Y2Y3YTc0ODMyMmYzZjFjMzExZjExLi40
MGViYjgwY2UwNmQxYmY0OTc2NTg0YWJkOWU1OTBiNzJiMzdhMmVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvTlBfanNvYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9OUF9qc29iamVjdC5jcHAKQEAgLTE0MSw3ICsxNDEsNyBAQCBzdGF0aWMgTlBDbGFzcyBu
b1NjcmlwdENsYXNzID0geyAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwIH07
CiBOUENsYXNzKiBOUFNjcmlwdE9iamVjdENsYXNzID0gJmphdmFzY3JpcHRDbGFzczsKIHN0YXRp
YyBOUENsYXNzKiBOUE5vU2NyaXB0T2JqZWN0Q2xhc3MgPSAmbm9TY3JpcHRDbGFzczsKIAotTlBP
YmplY3QqIF9OUE5fQ3JlYXRlU2NyaXB0T2JqZWN0KE5QUCBucHAsIEpTT2JqZWN0KiBpbXAsIFBh
c3NSZWZQdHI8Um9vdE9iamVjdD4gcm9vdE9iamVjdCkKK05QT2JqZWN0KiBfTlBOX0NyZWF0ZVNj
cmlwdE9iamVjdChOUFAgbnBwLCBKU09iamVjdCogaW1wLCBSZWZQdHI8Um9vdE9iamVjdD4mJiBy
b290T2JqZWN0KQogewogICAgIGlmIChOUE9iamVjdCogb2JqZWN0ID0gb2JqZWN0TWFwKCkuZ2V0
KHJvb3RPYmplY3QuZ2V0KCksIGltcCkpCiAgICAgICAgIHJldHVybiBfTlBOX1JldGFpbk9iamVj
dChvYmplY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL05QX2pzb2JqZWN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvTlBfanNvYmplY3QuaAppbmRleCBmZGMxYzY1ZmUy
OWRjODI5NGY4NTE1YzU5NmUxNjQwNTg4MWUwMGM2Li5iNjhmZmYxZmM0OGE2NTA5ZDMxZjQ1MzZh
MzNjYjNmMDY1NDc3OGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvTlBfanNv
YmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvTlBfanNvYmplY3QuaApAQCAtNDcs
NyArNDcsNyBAQCBzdHJ1Y3QgSmF2YVNjcmlwdE9iamVjdAogICAgIEpTQzo6QmluZGluZ3M6OlJv
b3RPYmplY3QqIHJvb3RPYmplY3Q7CiB9OwogCi1OUE9iamVjdCogX05QTl9DcmVhdGVTY3JpcHRP
YmplY3QoTlBQIG5wcCwgSlNDOjpKU09iamVjdCosIFBhc3NSZWZQdHI8SlNDOjpCaW5kaW5nczo6
Um9vdE9iamVjdD4gcm9vdE9iamVjdCk7CitOUE9iamVjdCogX05QTl9DcmVhdGVTY3JpcHRPYmpl
Y3QoTlBQLCBKU0M6OkpTT2JqZWN0KiwgUmVmUHRyPEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3Q+
JiYpOwogTlBPYmplY3QqIF9OUE5fQ3JlYXRlTm9TY3JpcHRPYmplY3Qodm9pZCk7CiAKICNlbmRp
ZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9j
L0NSdW50aW1lT2JqZWN0LmNwcAppbmRleCBkNDBhOTU4MjkyYTg5NTBhY2MyNTBjMzlmYzk4M2U0
NjkyY2Q1YzVmLi5iY2IwNDIwMTcyODM2M2NhMjhkMTc2YzJiOWIxYTAzMTM5MzBmY2I1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGltZU9iamVjdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuY3BwCkBAIC0zNyw4ICszNyw4
IEBAIG5hbWVzcGFjZSBCaW5kaW5ncyB7CiAKIGNvbnN0IENsYXNzSW5mbyBDUnVudGltZU9iamVj
dDo6c19pbmZvID0geyAiQ1J1bnRpbWVPYmplY3QiLCAmUnVudGltZU9iamVjdDo6c19pbmZvLCAw
LCBDUkVBVEVfTUVUSE9EX1RBQkxFKENSdW50aW1lT2JqZWN0KSB9OwogCi1DUnVudGltZU9iamVj
dDo6Q1J1bnRpbWVPYmplY3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0
cjxDSW5zdGFuY2U+IGluc3RhbmNlKQotICAgIDogUnVudGltZU9iamVjdCh2bSwgc3RydWN0dXJl
LCBpbnN0YW5jZSkKK0NSdW50aW1lT2JqZWN0OjpDUnVudGltZU9iamVjdChWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBSZWZQdHI8Q0luc3RhbmNlPiYmIGluc3RhbmNlKQorICAgIDogUnVu
dGltZU9iamVjdCh2bSwgc3RydWN0dXJlLCBXVEY6Om1vdmUoaW5zdGFuY2UpKQogewogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGltZU9iamVjdC5oIGIvU291
cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuaAppbmRleCBlOTgxZjFlODVlMDMy
NjRlODhjZWQ5ZTg0MWQyYzQyYjg2YzYzYWJjLi4zNWMwZjNmOTE3ZTQ1OTMzMWJmMGFmYzNjYzdk
MGM0MTZlYjM4M2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGlt
ZU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmgK
QEAgLTQ0LDkgKzQ0LDkgQEAgY2xhc3MgQ1J1bnRpbWVPYmplY3QgOiBwdWJsaWMgUnVudGltZU9i
amVjdCB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBSdW50aW1lT2JqZWN0IEJhc2U7CiAKLSAgICBz
dGF0aWMgQ1J1bnRpbWVPYmplY3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBQYXNzUmVmUHRyPENJbnN0YW5jZT4gaW5zdGFuY2UpCisgICAgc3RhdGljIENSdW50aW1lT2Jq
ZWN0KiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVmUHRyPENJbnN0YW5j
ZT4mJiBpbnN0YW5jZSkKICAgICB7Ci0gICAgICAgIENSdW50aW1lT2JqZWN0KiBvYmplY3QgPSBu
ZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxDUnVudGltZU9iamVjdD4odm0uaGVhcCkpIENSdW50
aW1lT2JqZWN0KHZtLCBzdHJ1Y3R1cmUsIGluc3RhbmNlKTsKKyAgICAgICAgQ1J1bnRpbWVPYmpl
Y3QqIG9iamVjdCA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPENSdW50aW1lT2JqZWN0Pih2
bS5oZWFwKSkgQ1J1bnRpbWVPYmplY3Qodm0sIHN0cnVjdHVyZSwgV1RGOjptb3ZlKGluc3RhbmNl
KSk7CiAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICByZXR1cm4g
b2JqZWN0OwogICAgIH0KQEAgLTYxLDcgKzYxLDcgQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0
ZToKLSAgICBDUnVudGltZU9iamVjdChWTSYsIFN0cnVjdHVyZSosIFBhc3NSZWZQdHI8Q0luc3Rh
bmNlPik7CisgICAgQ1J1bnRpbWVPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqLCBSZWZQdHI8Q0luc3Rh
bmNlPiYmKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9jX2luc3RhbmNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9jL2NfaW5zdGFuY2UuY3BwCmluZGV4IDRiM2VmNjY5YWQzZWJhNTY3ODA2NzEwNDYw
ZDllOGEzNTQ0YjNjM2YuLmQ5ZWJkYWYwNDllZGRhOGY0OTdlZTUzOGNmMTRkYjljYWQxYzNjYTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL2NfaW5zdGFuY2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL2NfaW5zdGFuY2UuY3BwCkBAIC03OCw4ICs3OCw4IEBA
IHZvaWQgQ0luc3RhbmNlOjptb3ZlR2xvYmFsRXhjZXB0aW9uVG9FeGVjU3RhdGUoRXhlY1N0YXRl
KiBleGVjKQogICAgIGdsb2JhbEV4Y2VwdGlvblN0cmluZygpID0gU3RyaW5nKCk7CiB9CiAKLUNJ
bnN0YW5jZTo6Q0luc3RhbmNlKE5QT2JqZWN0KiBvLCBQYXNzUmVmUHRyPFJvb3RPYmplY3Q+IHJv
b3RPYmplY3QpCi0gICAgOiBJbnN0YW5jZShyb290T2JqZWN0KQorQ0luc3RhbmNlOjpDSW5zdGFu
Y2UoTlBPYmplY3QqIG8sIFJlZlB0cjxSb290T2JqZWN0PiYmIHJvb3RPYmplY3QpCisgICAgOiBJ
bnN0YW5jZShXVEY6Om1vdmUocm9vdE9iamVjdCkpCiB7CiAgICAgX29iamVjdCA9IF9OUE5fUmV0
YWluT2JqZWN0KG8pOwogICAgIF9jbGFzcyA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2UvYy9jX2luc3RhbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9jX2luc3Rh
bmNlLmgKaW5kZXggZGI5ZDEwZmYzMTZjNjNjY2RiNWExZmNjMTVlYWUzZmFjMTA2YTQwOS4uNWQz
ZTY2NDgxNGQyMjcxNGNmMWU1YzM4Y2NhMWMxM2I0ZGRjM2EwYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL2MvY19pbnN0YW5jZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9jL2NfaW5zdGFuY2UuaApAQCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiQnJpZGdlSlND
LmgiCiAjaW5jbHVkZSAicnVudGltZV9yb290LmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgTlBP
YmplY3QgTlBPYmplY3Q7CkBAIC00Myw5ICs0Miw5IEBAIGNsYXNzIENDbGFzczsKIAogY2xhc3Mg
Q0luc3RhbmNlIDogcHVibGljIEluc3RhbmNlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENJ
bnN0YW5jZT4gY3JlYXRlKE5QT2JqZWN0KiBvYmplY3QsIFBhc3NSZWZQdHI8Um9vdE9iamVjdD4g
cm9vdE9iamVjdCkKKyAgICBzdGF0aWMgUmVmPENJbnN0YW5jZT4gY3JlYXRlKE5QT2JqZWN0KiBv
YmplY3QsIFJlZlB0cjxSb290T2JqZWN0PiYmIHJvb3RPYmplY3QpCiAgICAgewotICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBDSW5zdGFuY2Uob2JqZWN0LCByb290T2JqZWN0KSk7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENJbnN0YW5jZShvYmplY3QsIFdURjo6bW92ZShyb290
T2JqZWN0KSkpOwogICAgIH0KIAogICAgIHN0YXRpYyB2b2lkIHNldEdsb2JhbEV4Y2VwdGlvbihT
dHJpbmcpOwpAQCAtNzUsNyArNzQsNyBAQCBwdWJsaWM6CiAgICAgTlBPYmplY3QgKmdldE9iamVj
dCgpIGNvbnN0IHsgcmV0dXJuIF9vYmplY3Q7IH0KIAogcHJpdmF0ZToKLSAgICBDSW5zdGFuY2Uo
TlBPYmplY3QqLCBQYXNzUmVmUHRyPFJvb3RPYmplY3Q+KTsKKyAgICBDSW5zdGFuY2UoTlBPYmpl
Y3QqLCBSZWZQdHI8Um9vdE9iamVjdD4mJik7CiAKICAgICB2aXJ0dWFsIFJ1bnRpbWVPYmplY3Qq
IG5ld1J1bnRpbWVPYmplY3QoRXhlY1N0YXRlKikgb3ZlcnJpZGU7CiAgICAgYm9vbCB0b0pTUHJp
bWl0aXZlKEV4ZWNTdGF0ZSosIGNvbnN0IGNoYXIqLCBKU1ZhbHVlJikgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5jcHAKaW5kZXggNzg3ZTJkMTRhZjAzNjIyYzNlN2Zj
MjcxYWM3YWUxNjIyOGE5MzJlYy4uNWIwM2VmYTVlZjA4YTc4MTFmNDA3ZWUyNTY1MWUzMzc4MGQ3
YTY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmNwcApAQCAtMzgsOCAr
MzgsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogbmFtZXNwYWNlIEJpbmRpbmdzIHsKIAotQXJyYXk6
OkFycmF5KFBhc3NSZWZQdHI8Um9vdE9iamVjdD4gcm9vdE9iamVjdCkKLSAgICA6IG1fcm9vdE9i
amVjdChyb290T2JqZWN0KQorQXJyYXk6OkFycmF5KFJlZlB0cjxSb290T2JqZWN0PiYmIHJvb3RP
YmplY3QpCisgICAgOiBtX3Jvb3RPYmplY3QoV1RGOjptb3ZlKHJvb3RPYmplY3QpKQogewogICAg
IEFTU0VSVChtX3Jvb3RPYmplY3QpOwogfQpAQCAtNDgsOCArNDgsOCBAQCBBcnJheTo6fkFycmF5
KCkKIHsKIH0KIAotSW5zdGFuY2U6Okluc3RhbmNlKFBhc3NSZWZQdHI8Um9vdE9iamVjdD4gcm9v
dE9iamVjdCkKLSAgICA6IG1fcm9vdE9iamVjdChyb290T2JqZWN0KQorSW5zdGFuY2U6Okluc3Rh
bmNlKFJlZlB0cjxSb290T2JqZWN0PiYmIHJvb3RPYmplY3QpCisgICAgOiBtX3Jvb3RPYmplY3Qo
V1RGOjptb3ZlKHJvb3RPYmplY3QpKQogewogICAgIEFTU0VSVChtX3Jvb3RPYmplY3QpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKaW5kZXggZWQwYmY1MjczMDZhYmY1MTQx
N2MxNmVmYTkwNzdjOGE5NmM2ODE3Ny4uMDAyOTRmYWRkMDU4YWQ4ZDAzZGY3YWIwY2M1MjRkZmI1
ZGYyMjZiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0Mu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCkBAIC03MCw3ICs3
MCw3IEBAIHB1YmxpYzoKIAogY2xhc3MgSW5zdGFuY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxJbnN0
YW5jZT4gewogcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIEluc3RhbmNlKFBhc3NSZWZQdHI8
Um9vdE9iamVjdD4pOworICAgIFdFQkNPUkVfRVhQT1JUIEluc3RhbmNlKFJlZlB0cjxSb290T2Jq
ZWN0PiYmKTsKIAogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIGJlZm9yZSBhbmQg
YWZ0ZXIgdGhlIG1haW4gZW50cnkgcG9pbnRzIGludG8KICAgICAvLyB0aGUgbmF0aXZlIGltcGxl
bWVudGF0aW9ucy4gIFRoZXkgY2FuIGJlIHVzZWQgdG8gZXN0YWJsaXNoIGFuZCBjbGVhbnVwCkBA
IC0xMjEsNyArMTIxLDcgQEAgcHJpdmF0ZToKIGNsYXNzIEFycmF5IHsKICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShBcnJheSk7CiBwdWJsaWM6Ci0gICAgQXJyYXkoUGFzc1JlZlB0cjxSb290T2Jq
ZWN0Pik7CisgICAgZXhwbGljaXQgQXJyYXkoUmVmUHRyPFJvb3RPYmplY3Q+JiYpOwogICAgIHZp
cnR1YWwgfkFycmF5KCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBdChFeGVjU3RhdGUq
LCB1bnNpZ25lZCBpbmRleCwgSlNWYWx1ZSkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0LmgKaW5kZXggMzcwZTlhOGI2YWEyOTc1MzBk
MWY0ZDM3NjlkZDllNTFlZGFmZmIwNi4uMDU4YmJhZjEwOGNjMmI2NzdlYTc3MmUxOTNlN2QzZGFj
YjE3ZTAzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRp
bWVPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9i
amVjdC5oCkBAIC0zNyw5ICszNyw5IEBAIGNsYXNzIE9iakNSdW50aW1lT2JqZWN0IDogcHVibGlj
IFJ1bnRpbWVPYmplY3QgewogcHVibGljOgogICAgIHR5cGVkZWYgUnVudGltZU9iamVjdCBCYXNl
OwogCi0gICAgc3RhdGljIE9iakNSdW50aW1lT2JqZWN0KiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxPYmpjSW5zdGFuY2U+IGluc3QpCisgICAgc3RhdGlj
IE9iakNSdW50aW1lT2JqZWN0KiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
UmVmUHRyPE9iamNJbnN0YW5jZT4mJiBpbnN0KQogICAgIHsKLSAgICAgICAgT2JqQ1J1bnRpbWVP
YmplY3QqIG9iamVjdCA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPE9iakNSdW50aW1lT2Jq
ZWN0Pih2bS5oZWFwKSkgT2JqQ1J1bnRpbWVPYmplY3Qodm0sIHN0cnVjdHVyZSwgaW5zdCk7Cisg
ICAgICAgIE9iakNSdW50aW1lT2JqZWN0KiBvYmplY3QgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRl
Q2VsbDxPYmpDUnVudGltZU9iamVjdD4odm0uaGVhcCkpIE9iakNSdW50aW1lT2JqZWN0KHZtLCBz
dHJ1Y3R1cmUsIFdURjo6bW92ZShpbnN0KSk7CiAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRp
b24odm0pOwogICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgIH0KQEAgLTU0LDcgKzU0LDcgQEAg
cHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICBPYmpDUnVudGltZU9iamVjdChWTSYsIFN0
cnVjdHVyZSosIFBhc3NSZWZQdHI8T2JqY0luc3RhbmNlPik7CisgICAgT2JqQ1J1bnRpbWVPYmpl
Y3QoVk0mLCBTdHJ1Y3R1cmUqLCBSZWZQdHI8T2JqY0luc3RhbmNlPiYmKTsKICAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5tbSBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpj
L09iakNSdW50aW1lT2JqZWN0Lm1tCmluZGV4IGE0Mzk0NThiZjU4Y2Y4YTJiMGIwMzMxZTNkNTZj
YmFiM2MxODliMDYuLjdmODE0NmY4OTVjYWFmNGJmODNmZjJjMGM4Y2Y5OWRjNDE0MDA5NDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0Lm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0Lm1tCkBA
IC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBCaW5kaW5ncyB7CiAKIGNvbnN0IENsYXNzSW5mbyBP
YmpDUnVudGltZU9iamVjdDo6c19pbmZvID0geyAiT2JqQ1J1bnRpbWVPYmplY3QiLCAmUnVudGlt
ZU9iamVjdDo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKE9iakNSdW50aW1lT2JqZWN0
KSB9OwogCi1PYmpDUnVudGltZU9iamVjdDo6T2JqQ1J1bnRpbWVPYmplY3QoVk0mIHZtLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxPYmpjSW5zdGFuY2U+IGluc3RhbmNlKQorT2Jq
Q1J1bnRpbWVPYmplY3Q6Ok9iakNSdW50aW1lT2JqZWN0KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIFJlZlB0cjxPYmpjSW5zdGFuY2U+JiYgaW5zdGFuY2UpCiAgICAgOiBSdW50aW1lT2Jq
ZWN0KHZtLCBzdHJ1Y3R1cmUsIGluc3RhbmNlKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYnJpZGdlL29iamMvV2ViU2NyaXB0T2JqZWN0UHJvdG9jb2wuaCBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9vYmpjL1dlYlNjcmlwdE9iamVjdFByb3RvY29sLmgKaW5kZXggZjAzNjUyNWY4
YTBhZjFlNWI3ZjgwN2Y5OTI0MTIzYmI3ZjhiMmM4MS4uNmY3OTBlOTA3YTg4ZTFjMjc0OWI2NzBj
ZThlNjhlODc5OGQ4YzU3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMv
V2ViU2NyaXB0T2JqZWN0UHJvdG9jb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2Jq
Yy9XZWJTY3JpcHRPYmplY3RQcm90b2NvbC5oCkBAIC0zNSw3ICszNSw3IEBACiArIChCT09MKWlz
S2V5RXhjbHVkZWRGcm9tV2ViU2NyaXB0Oihjb25zdCBjaGFyICopbmFtZTsKIAogKyAoaWQpX2Nv
bnZlcnRWYWx1ZVRvT2JqY1ZhbHVlOihKU0M6OkpTVmFsdWUpdmFsdWUgb3JpZ2luUm9vdE9iamVj
dDooSlNDOjpCaW5kaW5nczo6Um9vdE9iamVjdCopb3JpZ2luUm9vdE9iamVjdCByb290T2JqZWN0
OihKU0M6OkJpbmRpbmdzOjpSb290T2JqZWN0Kilyb290T2JqZWN0OwotLSAoaWQpX2luaXRXaXRo
SlNPYmplY3Q6KEpTQzo6SlNPYmplY3QqKWltcCBvcmlnaW5Sb290T2JqZWN0OihQYXNzUmVmUHRy
PEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3Q+KW9yaWdpblJvb3RPYmplY3Qgcm9vdE9iamVjdDoo
UGFzc1JlZlB0cjxKU0M6OkJpbmRpbmdzOjpSb290T2JqZWN0Pilyb290T2JqZWN0OworLSAoaWQp
X2luaXRXaXRoSlNPYmplY3Q6KEpTQzo6SlNPYmplY3QqKWltcCBvcmlnaW5Sb290T2JqZWN0OihS
ZWZQdHI8SlNDOjpCaW5kaW5nczo6Um9vdE9iamVjdD4mJilvcmlnaW5Sb290T2JqZWN0IHJvb3RP
YmplY3Q6KFJlZlB0cjxKU0M6OkJpbmRpbmdzOjpSb290T2JqZWN0PiYmKXJvb3RPYmplY3Q7CiAt
IChKU0M6OkpTT2JqZWN0ICopX2ltcDsKIEBlbmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYnJpZGdlL29iamMvb2JqY19pbnN0YW5jZS5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29i
amMvb2JqY19pbnN0YW5jZS5oCmluZGV4IDFhZDljZDAwMjFmMzk1NjE4OGQwMDJmMDczODdjMzFm
ODg0Mjg5YjYuLjk5M2E2ZjU3MWU2M2JmY2RlY2JiNGY5NGQzZDA1ZTg3ZDhmMjRlM2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfaW5zdGFuY2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX2luc3RhbmNlLmgKQEAgLTM3LDcgKzM3LDcg
QEAgY2xhc3MgT2JqY0NsYXNzOwogCiBjbGFzcyBPYmpjSW5zdGFuY2UgOiBwdWJsaWMgSW5zdGFu
Y2UgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE9iamNJbnN0YW5jZT4gY3JlYXRl
KE9iamVjdFN0cnVjdFB0ciwgUGFzc1JlZlB0cjxSb290T2JqZWN0Pik7CisgICAgc3RhdGljIFJl
ZlB0cjxPYmpjSW5zdGFuY2U+IGNyZWF0ZShPYmplY3RTdHJ1Y3RQdHIsIFJlZlB0cjxSb290T2Jq
ZWN0PiYmKTsKICAgICB2aXJ0dWFsIH5PYmpjSW5zdGFuY2UoKTsKICAgICAKICAgICBzdGF0aWMg
dm9pZCBzZXRHbG9iYWxFeGNlcHRpb24oTlNTdHJpbmcqLCBKU0dsb2JhbE9iamVjdCogZXhjZXB0
aW9uRW52aXJvbm1lbnQgPSAwKTsgLy8gQSBudWxsIGV4Y2VwdGlvbkVudmlyb25tZW50IG1lYW5z
IHRoZSBleGNlcHRpb24gc2hvdWxkIHByb3BvZ2F0ZSB0byBhbnkgZXhlY3V0aW9uIGVudmlyb25t
ZW50LgpAQCAtNzAsNyArNzAsNyBAQCBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBPYmpjRmll
bGQ7CiAgICAgc3RhdGljIHZvaWQgbW92ZUdsb2JhbEV4Y2VwdGlvblRvRXhlY1N0YXRlKEV4ZWNT
dGF0ZSopOwogCi0gICAgT2JqY0luc3RhbmNlKE9iamVjdFN0cnVjdFB0ciwgUGFzc1JlZlB0cjxS
b290T2JqZWN0Pik7CisgICAgT2JqY0luc3RhbmNlKE9iamVjdFN0cnVjdFB0ciwgUmVmUHRyPFJv
b3RPYmplY3Q+JiYpOwogCiAgICAgdmlydHVhbCBSdW50aW1lT2JqZWN0KiBuZXdSdW50aW1lT2Jq
ZWN0KEV4ZWNTdGF0ZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2Jq
Yy9vYmpjX2luc3RhbmNlLm1tIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19pbnN0
YW5jZS5tbQppbmRleCAyNTJkNTcwZmEzZjBjNjYzYWU4OGIxOTIyMjZkOGVhY2I5ZmU1MTM0Li45
ZDdiMjQ5ZGNiNTczZjA3YzRkODQ2MzIwMjFhMWQ0YmZlNjA5NDJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX2luc3RhbmNlLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9vYmpjL29iamNfaW5zdGFuY2UubW0KQEAgLTEwMSw4ICsxMDEsOCBAQCB2b2lk
IE9iamNJbnN0YW5jZTo6bW92ZUdsb2JhbEV4Y2VwdGlvblRvRXhlY1N0YXRlKEV4ZWNTdGF0ZSog
ZXhlYykKICAgICBzX2V4Y2VwdGlvbkVudmlyb25tZW50ID0gMDsKIH0KIAotT2JqY0luc3RhbmNl
OjpPYmpjSW5zdGFuY2UoaWQgaW5zdGFuY2UsIFBhc3NSZWZQdHI8Um9vdE9iamVjdD4gcm9vdE9i
amVjdCkgCi0gICAgOiBJbnN0YW5jZShyb290T2JqZWN0KQorT2JqY0luc3RhbmNlOjpPYmpjSW5z
dGFuY2UoaWQgaW5zdGFuY2UsIFJlZlB0cjxSb290T2JqZWN0PiYmIHJvb3RPYmplY3QpIAorICAg
IDogSW5zdGFuY2UoV1RGOjptb3ZlKHJvb3RPYmplY3QpKQogICAgICwgX2luc3RhbmNlKGluc3Rh
bmNlKQogICAgICwgX2NsYXNzKDApCiAgICAgLCBfcG9vbCgwKQpAQCAtMTEwLDE1ICsxMTAsMTUg
QEAgT2JqY0luc3RhbmNlOjpPYmpjSW5zdGFuY2UoaWQgaW5zdGFuY2UsIFBhc3NSZWZQdHI8Um9v
dE9iamVjdD4gcm9vdE9iamVjdCkKIHsKIH0KIAotUGFzc1JlZlB0cjxPYmpjSW5zdGFuY2U+IE9i
amNJbnN0YW5jZTo6Y3JlYXRlKGlkIGluc3RhbmNlLCBQYXNzUmVmUHRyPFJvb3RPYmplY3Q+IHJv
b3RPYmplY3QpCitSZWZQdHI8T2JqY0luc3RhbmNlPiBPYmpjSW5zdGFuY2U6OmNyZWF0ZShpZCBp
bnN0YW5jZSwgUmVmUHRyPFJvb3RPYmplY3Q+JiYgcm9vdE9iamVjdCkKIHsKICAgICBpZiAoIXNf
aW5zdGFuY2VXcmFwcGVyQ2FjaGUpCiAgICAgICAgIHNfaW5zdGFuY2VXcmFwcGVyQ2FjaGUgPSBj
cmVhdGVJbnN0YW5jZVdyYXBwZXJDYWNoZSgpOwogICAgIGlmICh2b2lkKiBleGlzdGluZ1dyYXBw
ZXIgPSBOU01hcEdldChzX2luc3RhbmNlV3JhcHBlckNhY2hlLCBpbnN0YW5jZSkpCiAgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxPYmpjSW5zdGFuY2UqPihleGlzdGluZ1dyYXBwZXIpOwotICAg
IFJlZlB0cjxPYmpjSW5zdGFuY2U+IHdyYXBwZXIgPSBhZG9wdFJlZihuZXcgT2JqY0luc3RhbmNl
KGluc3RhbmNlLCByb290T2JqZWN0KSk7CisgICAgUmVmUHRyPE9iamNJbnN0YW5jZT4gd3JhcHBl
ciA9IGFkb3B0UmVmKG5ldyBPYmpjSW5zdGFuY2UoaW5zdGFuY2UsIFdURjo6bW92ZShyb290T2Jq
ZWN0KSkpOwogICAgIE5TTWFwSW5zZXJ0KHNfaW5zdGFuY2VXcmFwcGVyQ2FjaGUsIGluc3RhbmNl
LCB3cmFwcGVyLmdldCgpKTsKLSAgICByZXR1cm4gd3JhcHBlci5yZWxlYXNlKCk7CisgICAgcmV0
dXJuIHdyYXBwZXI7CiB9CiAKIE9iamNJbnN0YW5jZTo6fk9iamNJbnN0YW5jZSgpIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmggYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaAppbmRleCBiZTVhZTEyZDA2NzFhZjg2
ZDU4YmJmMjY4YTM3OWE4NGMyNjkwZjBjLi43Njg5NjZiNDg5OGExNGI3YzNlNzBlOWY5MDU0Y2Vh
MThkOWY2NjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1
bnRpbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaApA
QCAtNzYsNyArNzYsNyBAQCBwcml2YXRlOgogCiBjbGFzcyBPYmpjQXJyYXkgOiBwdWJsaWMgQXJy
YXkgewogcHVibGljOgotICAgIE9iamNBcnJheShPYmplY3RTdHJ1Y3RQdHIsIFBhc3NSZWZQdHI8
Um9vdE9iamVjdD4pOworICAgIE9iamNBcnJheShPYmplY3RTdHJ1Y3RQdHIsIFJlZlB0cjxSb290
T2JqZWN0PiYmKTsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUF0KEV4ZWNTdGF0ZSAqZXhl
YywgdW5zaWduZWQgaW50IGluZGV4LCBKU1ZhbHVlIGFWYWx1ZSkgY29uc3Q7CiAgICAgdmlydHVh
bCBKU1ZhbHVlIHZhbHVlQXQoRXhlY1N0YXRlICpleGVjLCB1bnNpZ25lZCBpbnQgaW5kZXgpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1l
Lm1tIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLm1tCmluZGV4IDAy
NTcwY2NiNjhmMDM5MTU3NDVlZmRmODgyOTAwNmQ3YzExMGJkMjcuLmY2OWJmZjFjOThmYTkyNTAy
NjQ5ZDE4MDNlZDQ4YzNmOGY0Y2IyZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9vYmpjL29iamNfcnVudGltZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9v
YmpjX3J1bnRpbWUubW0KQEAgLTE0Niw4ICsxNDYsOCBAQCB2b2lkIE9iamNGaWVsZDo6c2V0VmFs
dWVUb0luc3RhbmNlKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSW5zdGFuY2UqIGluc3RhbmNlLCBK
UwogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE9iamNBcnJheSAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCiAKLU9iamNBcnJheTo6T2JqY0FycmF5KE9iamVjdFN0cnVjdFB0ciBhLCBQYXNzUmVm
UHRyPFJvb3RPYmplY3Q+IHJvb3RPYmplY3QpCi0gICAgOiBBcnJheShyb290T2JqZWN0KQorT2Jq
Y0FycmF5OjpPYmpjQXJyYXkoT2JqZWN0U3RydWN0UHRyIGEsIFJlZlB0cjxSb290T2JqZWN0PiYm
IHJvb3RPYmplY3QpCisgICAgOiBBcnJheShXVEY6Om1vdmUocm9vdE9iamVjdCkpCiAgICAgLCBf
YXJyYXkoYSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X29iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuY3BwCmlu
ZGV4IDVkMGZhNGY4MTJhOWFkZmI4ZjI2YTk3NTFlODlkNmViZGRlZmZkNjIuLjQyYzM1Nzc3OTAx
ZDQ2YTMzYWQ0NTIzZjk2MzYxNGIwZTY4Yzc1M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9ydW50aW1lX29iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1
bnRpbWVfb2JqZWN0LmNwcApAQCAtMzcsOSArMzcsOSBAQCBuYW1lc3BhY2UgQmluZGluZ3Mgewog
CiBXRUJDT1JFX0VYUE9SVCBjb25zdCBDbGFzc0luZm8gUnVudGltZU9iamVjdDo6c19pbmZvID0g
eyAiUnVudGltZU9iamVjdCIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUo
UnVudGltZU9iamVjdCkgfTsKIAotUnVudGltZU9iamVjdDo6UnVudGltZU9iamVjdChWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPEluc3RhbmNlPiBpbnN0YW5jZSkKK1J1
bnRpbWVPYmplY3Q6OlJ1bnRpbWVPYmplY3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
UmVmUHRyPEluc3RhbmNlPiYmIGluc3RhbmNlKQogICAgIDogSlNEZXN0cnVjdGlibGVPYmplY3Qo
dm0sIHN0cnVjdHVyZSkKLSAgICAsIG1faW5zdGFuY2UoaW5zdGFuY2UpCisgICAgLCBtX2luc3Rh
bmNlKFdURjo6bW92ZShpbnN0YW5jZSkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRp
bWVfb2JqZWN0LmgKaW5kZXggNjlhMDYyOGMxZTMyOTRjMmFkM2YyMWM2ODM3NTZlYTdhNmI4Mzk4
Zi4uMDM1NjRhODM0ZmIxMjBlNDg1NmI0MzkwZDQwNmY0OWYxOGEzMDg2YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmgKQEAgLTM3LDkgKzM3LDkgQEAgcHVibGljOgogICAg
IHR5cGVkZWYgSlNEZXN0cnVjdGlibGVPYmplY3QgQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5z
aWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dl
dE93blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMgfCBUeXBlT2ZTaG91
bGRDYWxsR2V0Q2FsbERhdGE7CiAKLSAgICBzdGF0aWMgUnVudGltZU9iamVjdCogY3JlYXRlKFZN
JiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8SW5zdGFuY2U+IGluc3RhbmNl
KQorICAgIHN0YXRpYyBSdW50aW1lT2JqZWN0KiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgUmVmUHRyPEluc3RhbmNlPiYmIGluc3RhbmNlKQogICAgIHsKLSAgICAgICAgUnVu
dGltZU9iamVjdCogb2JqZWN0ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8UnVudGltZU9i
amVjdD4odm0uaGVhcCkpIFJ1bnRpbWVPYmplY3Qodm0sIHN0cnVjdHVyZSwgaW5zdGFuY2UpOwor
ICAgICAgICBSdW50aW1lT2JqZWN0KiBvYmplY3QgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2Vs
bDxSdW50aW1lT2JqZWN0Pih2bS5oZWFwKSkgUnVudGltZU9iamVjdCh2bSwgc3RydWN0dXJlLCBX
VEY6Om1vdmUoaW5zdGFuY2UpKTsKICAgICAgICAgb2JqZWN0LT5maW5pc2hDcmVhdGlvbih2bSk7
CiAgICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAgfQpAQCAtNzQsNyArNzQsNyBAQCBwdWJsaWM6
CiAgICAgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgUnVudGltZU9iamVjdChWTSYsIFN0cnVjdHVyZSos
IFBhc3NSZWZQdHI8SW5zdGFuY2U+KTsKKyAgICBSdW50aW1lT2JqZWN0KFZNJiwgU3RydWN0dXJl
KiwgUmVmUHRyPEluc3RhbmNlPiYmKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiAK
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuY3BwCmluZGV4IDdjZGUz
OTk0Y2E2MTQ4MTcxYzU2Nzk0YWZmOTA1ZmMyNmM2ZjVkNGMuLjYyZmVlN2UzNmM3MzY3MGIzNjhm
YmVlMmNjOTE2ZDI3M2UxM2IyZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9y
dW50aW1lX3Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3Qu
Y3BwCkBAIC04MCw5ICs4MCw5IEBAIFJvb3RPYmplY3Q6OkludmFsaWRhdGlvbkNhbGxiYWNrOjp+
SW52YWxpZGF0aW9uQ2FsbGJhY2soKQogewogfQogCi1QYXNzUmVmUHRyPFJvb3RPYmplY3Q+IFJv
b3RPYmplY3Q6OmNyZWF0ZShjb25zdCB2b2lkKiBuYXRpdmVIYW5kbGUsIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCitSZWY8Um9vdE9iamVjdD4gUm9vdE9iamVjdDo6Y3JlYXRlKGNvbnN0
IHZvaWQqIG5hdGl2ZUhhbmRsZSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IFJvb3RPYmplY3QobmF0aXZlSGFuZGxlLCBnbG9iYWxPYmpl
Y3QpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSb290T2JqZWN0KG5hdGl2ZUhhbmRsZSwg
Z2xvYmFsT2JqZWN0KSk7CiB9CiAKIFJvb3RPYmplY3Q6OlJvb3RPYmplY3QoY29uc3Qgdm9pZCog
bmF0aXZlSGFuZGxlLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oIGIvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3J1bnRpbWVfcm9vdC5oCmluZGV4IGVmYmJlMGU1YzgyOGVhZWZhY2I3YjNlNWU5ZWY5MjNm
NDQ1ZjFhNzUuLjU0ZmM3ZjE4NWNhZTEyZGU3ZDQ4ZTRlMDZmZWYyYjZjMTdjY2IwYmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRl
IDx3dGYvSGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC01Nyw3ICs1Niw3
IEBAIGNsYXNzIFJvb3RPYmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxSb290T2JqZWN0PiwgcHJp
dmF0ZSBKU0M6OldlYWtIYW5kbGVPd25lciB7CiBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQg
dmlydHVhbCB+Um9vdE9iamVjdCgpOwogICAgIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJvb3RP
YmplY3Q+IGNyZWF0ZShjb25zdCB2b2lkKiBuYXRpdmVIYW5kbGUsIEpTR2xvYmFsT2JqZWN0Kik7
CisgICAgc3RhdGljIFJlZjxSb290T2JqZWN0PiBjcmVhdGUoY29uc3Qgdm9pZCogbmF0aXZlSGFu
ZGxlLCBKU0dsb2JhbE9iamVjdCopOwogCiAgICAgYm9vbCBpc1ZhbGlkKCkgeyByZXR1cm4gbV9p
c1ZhbGlkOyB9CiAgICAgdm9pZCBpbnZhbGlkYXRlKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261301</attachid>
            <date>2015-09-16 00:54:05 -0700</date>
            <delta_ts>2015-09-16 20:00:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149207-20150916165353.patch</filename>
            <type>text/plain</type>
            <size>19598</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5ODQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjY5MTk4ZTFlNjc4ZWI5
OTdlMzliMzYxODliMmJkZWUxZjcyZTIzMi4uYjVmZjIzYjY1NzNmMTUxMzRkYzEzNDNkMGI4NWU5
NGIxYzVmMTAwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDE1LTA5LTE1ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgYWxs
IHVzZXMgb2YgUGFzc1JlZlB0ciBpbiBXZWJDb3JlL2JpbmRpbmdzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkyMDcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiBSZWZQdHI8PiYmIGFyZ3VtZW50IGlz
IHBhc3NlZCB0byBuZXcgdmFyaWFibGUgb3Igb3RoZXIgZnVuY3Rpb24sIHdlIHVzZSBjb3B5UmVm
KCkgb3IgV1RGOjptb3ZlKCkuCisgICAgICAgIGNvcHlSZWYoKSBzaG91bGQgYmUgdXNlZCB3aGVu
IHRoZSBhcmd1bWVudCBjb250aW51ZXMgdG8gYmUgdXNlZCBpbiBmb2xsb3dpbmcgY29kZS4gSWYg
aXQgaXMgZmluYWwgdXNlCisgICAgICAgIGluc2lkZSBmdW5jdGlvbiwgd2UgaGF2ZSB0byB1c2Ug
V1RGOjptb3ZlKCkuCisKKyAgICAgICAgKiBicmlkZ2UvTlBfanNvYmplY3QuY3BwOgorICAgICAg
ICAqIGJyaWRnZS9OUF9qc29iamVjdC5oOgorICAgICAgICAqIGJyaWRnZS9jL0NSdW50aW1lT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OkNSdW50aW1lT2JqZWN0OjpDUnVudGlt
ZU9iamVjdCk6CisgICAgICAgICogYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuaDoKKyAgICAgICAg
KEpTQzo6QmluZGluZ3M6OkNSdW50aW1lT2JqZWN0OjpjcmVhdGUpOgorICAgICAgICAqIGJyaWRn
ZS9jL2NfaW5zdGFuY2UuY3BwOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6Q0luc3RhbmNlOjpD
SW5zdGFuY2UpOgorICAgICAgICAqIGJyaWRnZS9jL2NfaW5zdGFuY2UuaDoKKyAgICAgICAgKEpT
Qzo6QmluZGluZ3M6OkNJbnN0YW5jZTo6Y3JlYXRlKToKKyAgICAgICAgKiBicmlkZ2UvanNjL0Jy
aWRnZUpTQy5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpBcnJheTo6QXJyYXkpOgorICAg
ICAgICAoSlNDOjpCaW5kaW5nczo6SW5zdGFuY2U6Okluc3RhbmNlKToKKyAgICAgICAgKiBicmlk
Z2UvanNjL0JyaWRnZUpTQy5oOgorICAgICAgICAqIGJyaWRnZS9vYmpjL09iakNSdW50aW1lT2Jq
ZWN0Lmg6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpPYmpDUnVudGltZU9iamVjdDo6Y3JlYXRl
KToKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5tbToKKyAgICAgICAg
KEpTQzo6QmluZGluZ3M6Ok9iakNSdW50aW1lT2JqZWN0OjpPYmpDUnVudGltZU9iamVjdCk6Cisg
ICAgICAgICogYnJpZGdlL29iamMvV2ViU2NyaXB0T2JqZWN0UHJvdG9jb2wuaDoKKyAgICAgICAg
KiBicmlkZ2Uvb2JqYy9vYmpjX2luc3RhbmNlLmg6CisgICAgICAgICogYnJpZGdlL29iamMvb2Jq
Y19pbnN0YW5jZS5tbToKKyAgICAgICAgKE9iamNJbnN0YW5jZTo6T2JqY0luc3RhbmNlKToKKyAg
ICAgICAgKE9iamNJbnN0YW5jZTo6Y3JlYXRlKToKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpj
X3J1bnRpbWUuaDoKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUubW06CisgICAg
ICAgIChKU0M6OkJpbmRpbmdzOjpPYmpjQXJyYXk6Ok9iamNBcnJheSk6CisgICAgICAgICogYnJp
ZGdlL3J1bnRpbWVfb2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OlJ1bnRpbWVP
YmplY3Q6OlJ1bnRpbWVPYmplY3QpOgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX29iamVjdC5o
OgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX3Jvb3QuY3BwOgorICAgICAgICAoSlNDOjpCaW5k
aW5nczo6Um9vdE9iamVjdDo6Y3JlYXRlKToKKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9yb290
Lmg6CisKIDIwMTUtMDktMTUgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgR1RLKyBidWlsZCBmaXggYXR0ZW1wdCBhZnRlciByMTg5ODQxLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYnJpZGdlL05QX2pzb2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9OUF9qc29iamVjdC5jcHAKaW5kZXggNTljOWM3NDJkMmZkMDM4MmQ2NGNmN2E3NDgzMjJm
M2YxYzMxMWYxMS4uNDBlYmI4MGNlMDZkMWJmNDk3NjU4NGFiZDllNTkwYjcyYjM3YTJlZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL05QX2pzb2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvTlBfanNvYmplY3QuY3BwCkBAIC0xNDEsNyArMTQxLDcgQEAgc3Rh
dGljIE5QQ2xhc3Mgbm9TY3JpcHRDbGFzcyA9IHsgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCB9OwogTlBDbGFzcyogTlBTY3JpcHRPYmplY3RDbGFzcyA9ICZqYXZhc2NyaXB0
Q2xhc3M7CiBzdGF0aWMgTlBDbGFzcyogTlBOb1NjcmlwdE9iamVjdENsYXNzID0gJm5vU2NyaXB0
Q2xhc3M7CiAKLU5QT2JqZWN0KiBfTlBOX0NyZWF0ZVNjcmlwdE9iamVjdChOUFAgbnBwLCBKU09i
amVjdCogaW1wLCBQYXNzUmVmUHRyPFJvb3RPYmplY3Q+IHJvb3RPYmplY3QpCitOUE9iamVjdCog
X05QTl9DcmVhdGVTY3JpcHRPYmplY3QoTlBQIG5wcCwgSlNPYmplY3QqIGltcCwgUmVmUHRyPFJv
b3RPYmplY3Q+JiYgcm9vdE9iamVjdCkKIHsKICAgICBpZiAoTlBPYmplY3QqIG9iamVjdCA9IG9i
amVjdE1hcCgpLmdldChyb290T2JqZWN0LmdldCgpLCBpbXApKQogICAgICAgICByZXR1cm4gX05Q
Tl9SZXRhaW5PYmplY3Qob2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9OUF9qc29iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL05QX2pzb2JqZWN0LmgKaW5k
ZXggZmRjMWM2NWZlMjlkYzgyOTRmODUxNWM1OTZlMTY0MDU4ODFlMDBjNi4uYjY4ZmZmMWZjNDhh
NjUwOWQzMWY0NTM2YTMzY2IzZjA2NTQ3NzhiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YnJpZGdlL05QX2pzb2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL05QX2pzb2Jq
ZWN0LmgKQEAgLTQ3LDcgKzQ3LDcgQEAgc3RydWN0IEphdmFTY3JpcHRPYmplY3QKICAgICBKU0M6
OkJpbmRpbmdzOjpSb290T2JqZWN0KiByb290T2JqZWN0OwogfTsKIAotTlBPYmplY3QqIF9OUE5f
Q3JlYXRlU2NyaXB0T2JqZWN0KE5QUCBucHAsIEpTQzo6SlNPYmplY3QqLCBQYXNzUmVmUHRyPEpT
Qzo6QmluZGluZ3M6OlJvb3RPYmplY3Q+IHJvb3RPYmplY3QpOworTlBPYmplY3QqIF9OUE5fQ3Jl
YXRlU2NyaXB0T2JqZWN0KE5QUCwgSlNDOjpKU09iamVjdCosIFJlZlB0cjxKU0M6OkJpbmRpbmdz
OjpSb290T2JqZWN0PiYmKTsKIE5QT2JqZWN0KiBfTlBOX0NyZWF0ZU5vU2NyaXB0T2JqZWN0KHZv
aWQpOwogCiAjZW5kaWYgLy8gRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGltZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2UvYy9DUnVudGltZU9iamVjdC5jcHAKaW5kZXggZDQwYTk1ODI5MmE4OTUwYWNj
MjUwYzM5ZmM5ODNlNDY5MmNkNWM1Zi4uYmNiMDQyMDE3MjgzNjNjYTI4ZDE3NmMyYjliMWEwMzEz
OTMwZmNiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmNwcApA
QCAtMzcsOCArMzcsOCBAQCBuYW1lc3BhY2UgQmluZGluZ3MgewogCiBjb25zdCBDbGFzc0luZm8g
Q1J1bnRpbWVPYmplY3Q6OnNfaW5mbyA9IHsgIkNSdW50aW1lT2JqZWN0IiwgJlJ1bnRpbWVPYmpl
Y3Q6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShDUnVudGltZU9iamVjdCkgfTsKIAot
Q1J1bnRpbWVPYmplY3Q6OkNSdW50aW1lT2JqZWN0KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIFBhc3NSZWZQdHI8Q0luc3RhbmNlPiBpbnN0YW5jZSkKLSAgICA6IFJ1bnRpbWVPYmplY3Qo
dm0sIHN0cnVjdHVyZSwgaW5zdGFuY2UpCitDUnVudGltZU9iamVjdDo6Q1J1bnRpbWVPYmplY3Qo
Vk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVmUHRyPENJbnN0YW5jZT4mJiBpbnN0YW5j
ZSkKKyAgICA6IFJ1bnRpbWVPYmplY3Qodm0sIHN0cnVjdHVyZSwgV1RGOjptb3ZlKGluc3RhbmNl
KSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVP
YmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmgKaW5kZXgg
ZTk4MWYxZTg1ZTAzMjY0ZTg4Y2VkOWU4NDFkMmM0MmI4NmM2M2FiYy4uMzVjMGYzZjkxN2U0NTkz
MzFiZjBhZmMzY2M3ZDBjNDE2ZWIzODNhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL2MvQ1J1bnRpbWVPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVu
dGltZU9iamVjdC5oCkBAIC00NCw5ICs0NCw5IEBAIGNsYXNzIENSdW50aW1lT2JqZWN0IDogcHVi
bGljIFJ1bnRpbWVPYmplY3QgewogcHVibGljOgogICAgIHR5cGVkZWYgUnVudGltZU9iamVjdCBC
YXNlOwogCi0gICAgc3RhdGljIENSdW50aW1lT2JqZWN0KiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxDSW5zdGFuY2U+IGluc3RhbmNlKQorICAgIHN0YXRp
YyBDUnVudGltZU9iamVjdCogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJl
ZlB0cjxDSW5zdGFuY2U+JiYgaW5zdGFuY2UpCiAgICAgewotICAgICAgICBDUnVudGltZU9iamVj
dCogb2JqZWN0ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8Q1J1bnRpbWVPYmplY3Q+KHZt
LmhlYXApKSBDUnVudGltZU9iamVjdCh2bSwgc3RydWN0dXJlLCBpbnN0YW5jZSk7CisgICAgICAg
IENSdW50aW1lT2JqZWN0KiBvYmplY3QgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxDUnVu
dGltZU9iamVjdD4odm0uaGVhcCkpIENSdW50aW1lT2JqZWN0KHZtLCBzdHJ1Y3R1cmUsIFdURjo6
bW92ZShpbnN0YW5jZSkpOwogICAgICAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9uKHZtKTsKICAg
ICAgICAgcmV0dXJuIG9iamVjdDsKICAgICB9CkBAIC02MSw3ICs2MSw3IEBAIHB1YmxpYzoKICAg
ICB9CiAKIHByaXZhdGU6Ci0gICAgQ1J1bnRpbWVPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqLCBQYXNz
UmVmUHRyPENJbnN0YW5jZT4pOworICAgIENSdW50aW1lT2JqZWN0KFZNJiwgU3RydWN0dXJlKiwg
UmVmUHRyPENJbnN0YW5jZT4mJik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvY19pbnN0YW5jZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9jX2luc3RhbmNlLmNwcAppbmRleCA0YjNlZjY2OWFkM2Vi
YTU2NzgwNjcxMDQ2MGQ5ZThhMzU0NGIzYzNmLi5kOWViZGFmMDQ5ZWRkYThmNDk3ZWU1MzhjZjE0
ZGI5Y2FkMWMzY2EyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9jX2luc3Rh
bmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9jX2luc3RhbmNlLmNwcApAQCAt
NzgsOCArNzgsOCBAQCB2b2lkIENJbnN0YW5jZTo6bW92ZUdsb2JhbEV4Y2VwdGlvblRvRXhlY1N0
YXRlKEV4ZWNTdGF0ZSogZXhlYykKICAgICBnbG9iYWxFeGNlcHRpb25TdHJpbmcoKSA9IFN0cmlu
ZygpOwogfQogCi1DSW5zdGFuY2U6OkNJbnN0YW5jZShOUE9iamVjdCogbywgUGFzc1JlZlB0cjxS
b290T2JqZWN0PiByb290T2JqZWN0KQotICAgIDogSW5zdGFuY2Uocm9vdE9iamVjdCkKK0NJbnN0
YW5jZTo6Q0luc3RhbmNlKE5QT2JqZWN0KiBvLCBSZWZQdHI8Um9vdE9iamVjdD4mJiByb290T2Jq
ZWN0KQorICAgIDogSW5zdGFuY2UoV1RGOjptb3ZlKHJvb3RPYmplY3QpKQogewogICAgIF9vYmpl
Y3QgPSBfTlBOX1JldGFpbk9iamVjdChvKTsKICAgICBfY2xhc3MgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYnJpZGdlL2MvY19pbnN0YW5jZS5oIGIvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL2MvY19pbnN0YW5jZS5oCmluZGV4IGRiOWQxMGZmMzE2YzYzY2NkYjVhMWZjYzE1ZWFlM2Zh
YzEwNmE0MDkuLjVkM2U2NjQ4MTRkMjI3MTRjZjFlNWMzOGNjYTFjMTNiNGRkYzNhMGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL2NfaW5zdGFuY2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvYy9jX2luc3RhbmNlLmgKQEAgLTMwLDcgKzMwLDYgQEAKIAogI2luY2x1
ZGUgIkJyaWRnZUpTQy5oIgogI2luY2x1ZGUgInJ1bnRpbWVfcm9vdC5oIgotI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIHR5cGVk
ZWYgc3RydWN0IE5QT2JqZWN0IE5QT2JqZWN0OwpAQCAtNDMsOSArNDIsOSBAQCBjbGFzcyBDQ2xh
c3M7CiAKIGNsYXNzIENJbnN0YW5jZSA6IHB1YmxpYyBJbnN0YW5jZSB7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFJlZjxDSW5zdGFuY2U+IGNyZWF0ZShOUE9iamVjdCogb2JqZWN0LCBQYXNzUmVmUHRy
PFJvb3RPYmplY3Q+IHJvb3RPYmplY3QpCisgICAgc3RhdGljIFJlZjxDSW5zdGFuY2U+IGNyZWF0
ZShOUE9iamVjdCogb2JqZWN0LCBSZWZQdHI8Um9vdE9iamVjdD4mJiByb290T2JqZWN0KQogICAg
IHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ0luc3RhbmNlKG9iamVjdCwgcm9vdE9i
amVjdCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDSW5zdGFuY2Uob2JqZWN0LCBX
VEY6Om1vdmUocm9vdE9iamVjdCkpKTsKICAgICB9CiAKICAgICBzdGF0aWMgdm9pZCBzZXRHbG9i
YWxFeGNlcHRpb24oU3RyaW5nKTsKQEAgLTc1LDcgKzc0LDcgQEAgcHVibGljOgogICAgIE5QT2Jq
ZWN0ICpnZXRPYmplY3QoKSBjb25zdCB7IHJldHVybiBfb2JqZWN0OyB9CiAKIHByaXZhdGU6Ci0g
ICAgQ0luc3RhbmNlKE5QT2JqZWN0KiwgUGFzc1JlZlB0cjxSb290T2JqZWN0Pik7CisgICAgQ0lu
c3RhbmNlKE5QT2JqZWN0KiwgUmVmUHRyPFJvb3RPYmplY3Q+JiYpOwogCiAgICAgdmlydHVhbCBS
dW50aW1lT2JqZWN0KiBuZXdSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSopIG92ZXJyaWRlOwogICAg
IGJvb2wgdG9KU1ByaW1pdGl2ZShFeGVjU3RhdGUqLCBjb25zdCBjaGFyKiwgSlNWYWx1ZSYpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuY3BwCmluZGV4IDc4N2UyZDE0
YWYwMzYyMmMzZTdmYzI3MWFjN2FlMTYyMjhhOTMyZWMuLjViMDNlZmE1ZWYwOGE3ODExZjQwN2Vl
MjU2NTFlMzM3ODBkN2E2OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qc2Mv
QnJpZGdlSlNDLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5j
cHAKQEAgLTM4LDggKzM4LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKIG5hbWVzcGFjZSBCaW5kaW5n
cyB7CiAKLUFycmF5OjpBcnJheShQYXNzUmVmUHRyPFJvb3RPYmplY3Q+IHJvb3RPYmplY3QpCi0g
ICAgOiBtX3Jvb3RPYmplY3Qocm9vdE9iamVjdCkKK0FycmF5OjpBcnJheShSZWZQdHI8Um9vdE9i
amVjdD4mJiByb290T2JqZWN0KQorICAgIDogbV9yb290T2JqZWN0KFdURjo6bW92ZShyb290T2Jq
ZWN0KSkKIHsKICAgICBBU1NFUlQobV9yb290T2JqZWN0KTsKIH0KQEAgLTQ4LDggKzQ4LDggQEAg
QXJyYXk6On5BcnJheSgpCiB7CiB9CiAKLUluc3RhbmNlOjpJbnN0YW5jZShQYXNzUmVmUHRyPFJv
b3RPYmplY3Q+IHJvb3RPYmplY3QpCi0gICAgOiBtX3Jvb3RPYmplY3Qocm9vdE9iamVjdCkKK0lu
c3RhbmNlOjpJbnN0YW5jZShSZWZQdHI8Um9vdE9iamVjdD4mJiByb290T2JqZWN0KQorICAgIDog
bV9yb290T2JqZWN0KFdURjo6bW92ZShyb290T2JqZWN0KSkKIHsKICAgICBBU1NFUlQobV9yb290
T2JqZWN0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdl
SlNDLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCmluZGV4IGVkMGJm
NTI3MzA2YWJmNTE0MTdjMTZlZmE5MDc3YzhhOTZjNjgxNzcuLjAwMjk0ZmFkZDA1OGFkOGQwM2Rm
N2FiMGNjNTI0ZGZiNWRmMjI2YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9q
c2MvQnJpZGdlSlNDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0Mu
aApAQCAtNzAsNyArNzAsNyBAQCBwdWJsaWM6CiAKIGNsYXNzIEluc3RhbmNlIDogcHVibGljIFJl
ZkNvdW50ZWQ8SW5zdGFuY2U+IHsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBJbnN0YW5j
ZShQYXNzUmVmUHRyPFJvb3RPYmplY3Q+KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBJbnN0YW5jZShS
ZWZQdHI8Um9vdE9iamVjdD4mJik7CiAKICAgICAvLyBUaGVzZSBmdW5jdGlvbnMgYXJlIGNhbGxl
ZCBiZWZvcmUgYW5kIGFmdGVyIHRoZSBtYWluIGVudHJ5IHBvaW50cyBpbnRvCiAgICAgLy8gdGhl
IG5hdGl2ZSBpbXBsZW1lbnRhdGlvbnMuICBUaGV5IGNhbiBiZSB1c2VkIHRvIGVzdGFibGlzaCBh
bmQgY2xlYW51cApAQCAtMTIxLDcgKzEyMSw3IEBAIHByaXZhdGU6CiBjbGFzcyBBcnJheSB7CiAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJyYXkpOwogcHVibGljOgotICAgIEFycmF5KFBhc3NS
ZWZQdHI8Um9vdE9iamVjdD4pOworICAgIGV4cGxpY2l0IEFycmF5KFJlZlB0cjxSb290T2JqZWN0
PiYmKTsKICAgICB2aXJ0dWFsIH5BcnJheSgpOwogCiAgICAgdmlydHVhbCB2b2lkIHNldFZhbHVl
QXQoRXhlY1N0YXRlKiwgdW5zaWduZWQgaW5kZXgsIEpTVmFsdWUpIGNvbnN0ID0gMDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0LmggYi9T
b3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5oCmluZGV4IDM3MGU5
YThiNmFhMjk3NTMwZDFmNGQzNzY5ZGQ5ZTUxZWRhZmZiMDYuLjA1OGJiYWYxMDhjYzJiNjc3ZWE3
NzJlMTkzZTdkM2RhY2IxN2UwM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9v
YmpjL09iakNSdW50aW1lT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMv
T2JqQ1J1bnRpbWVPYmplY3QuaApAQCAtMzcsOSArMzcsOSBAQCBjbGFzcyBPYmpDUnVudGltZU9i
amVjdCA6IHB1YmxpYyBSdW50aW1lT2JqZWN0IHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFJ1bnRp
bWVPYmplY3QgQmFzZTsKIAotICAgIHN0YXRpYyBPYmpDUnVudGltZU9iamVjdCogY3JlYXRlKFZN
JiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8T2JqY0luc3RhbmNlPiBpbnN0
KQorICAgIHN0YXRpYyBPYmpDUnVudGltZU9iamVjdCogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIFJlZlB0cjxPYmpjSW5zdGFuY2U+JiYgaW5zdCkKICAgICB7Ci0gICAgICAg
IE9iakNSdW50aW1lT2JqZWN0KiBvYmplY3QgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxP
YmpDUnVudGltZU9iamVjdD4odm0uaGVhcCkpIE9iakNSdW50aW1lT2JqZWN0KHZtLCBzdHJ1Y3R1
cmUsIGluc3QpOworICAgICAgICBPYmpDUnVudGltZU9iamVjdCogb2JqZWN0ID0gbmV3IChOb3RO
dWxsLCBhbGxvY2F0ZUNlbGw8T2JqQ1J1bnRpbWVPYmplY3Q+KHZtLmhlYXApKSBPYmpDUnVudGlt
ZU9iamVjdCh2bSwgc3RydWN0dXJlLCBXVEY6Om1vdmUoaW5zdCkpOwogICAgICAgICBvYmplY3Qt
PmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICAgICAgcmV0dXJuIG9iamVjdDsKICAgICB9CkBAIC01
NCw3ICs1NCw3IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgT2JqQ1J1bnRpbWVP
YmplY3QoVk0mLCBTdHJ1Y3R1cmUqLCBQYXNzUmVmUHRyPE9iamNJbnN0YW5jZT4pOworICAgIE9i
akNSdW50aW1lT2JqZWN0KFZNJiwgU3RydWN0dXJlKiwgUmVmUHRyPE9iamNJbnN0YW5jZT4mJik7
CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5tbQppbmRleCBhNDM5NDU4YmY1OGNmOGEy
YjBiMDMzMWUzZDU2Y2JhYjNjMTg5YjA2Li43ZjgxNDZmODk1Y2FhZjRiZjgzZmYyYzBjOGNmOTlk
YzQxNDAwOTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpDUnVu
dGltZU9iamVjdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpDUnVudGlt
ZU9iamVjdC5tbQpAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgQmluZGluZ3MgewogCiBjb25z
dCBDbGFzc0luZm8gT2JqQ1J1bnRpbWVPYmplY3Q6OnNfaW5mbyA9IHsgIk9iakNSdW50aW1lT2Jq
ZWN0IiwgJlJ1bnRpbWVPYmplY3Q6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShPYmpD
UnVudGltZU9iamVjdCkgfTsKIAotT2JqQ1J1bnRpbWVPYmplY3Q6Ok9iakNSdW50aW1lT2JqZWN0
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8T2JqY0luc3RhbmNlPiBp
bnN0YW5jZSkKK09iakNSdW50aW1lT2JqZWN0OjpPYmpDUnVudGltZU9iamVjdChWTSYgdm0sIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBSZWZQdHI8T2JqY0luc3RhbmNlPiYmIGluc3RhbmNlKQogICAg
IDogUnVudGltZU9iamVjdCh2bSwgc3RydWN0dXJlLCBpbnN0YW5jZSkKIHsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL1dlYlNjcmlwdE9iamVjdFByb3RvY29sLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9XZWJTY3JpcHRPYmplY3RQcm90b2NvbC5oCmlu
ZGV4IGYwMzY1MjVmOGEwYWYxZTViN2Y4MDdmOTkyNDEyM2JiN2Y4YjJjODEuLjZmNzkwZTkwN2E4
OGUxYzI3NDliNjcwY2U4ZTY4ZTg3OThkOGM1NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9vYmpjL1dlYlNjcmlwdE9iamVjdFByb3RvY29sLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYnJpZGdlL29iamMvV2ViU2NyaXB0T2JqZWN0UHJvdG9jb2wuaApAQCAtMzUsNyArMzUsNyBA
QAogKyAoQk9PTClpc0tleUV4Y2x1ZGVkRnJvbVdlYlNjcmlwdDooY29uc3QgY2hhciAqKW5hbWU7
CiAKICsgKGlkKV9jb252ZXJ0VmFsdWVUb09iamNWYWx1ZTooSlNDOjpKU1ZhbHVlKXZhbHVlIG9y
aWdpblJvb3RPYmplY3Q6KEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3QqKW9yaWdpblJvb3RPYmpl
Y3Qgcm9vdE9iamVjdDooSlNDOjpCaW5kaW5nczo6Um9vdE9iamVjdCopcm9vdE9iamVjdDsKLS0g
KGlkKV9pbml0V2l0aEpTT2JqZWN0OihKU0M6OkpTT2JqZWN0KilpbXAgb3JpZ2luUm9vdE9iamVj
dDooUGFzc1JlZlB0cjxKU0M6OkJpbmRpbmdzOjpSb290T2JqZWN0PilvcmlnaW5Sb290T2JqZWN0
IHJvb3RPYmplY3Q6KFBhc3NSZWZQdHI8SlNDOjpCaW5kaW5nczo6Um9vdE9iamVjdD4pcm9vdE9i
amVjdDsKKy0gKGlkKV9pbml0V2l0aEpTT2JqZWN0OihKU0M6OkpTT2JqZWN0KilpbXAgb3JpZ2lu
Um9vdE9iamVjdDooUmVmUHRyPEpTQzo6QmluZGluZ3M6OlJvb3RPYmplY3Q+JiYpb3JpZ2luUm9v
dE9iamVjdCByb290T2JqZWN0OihSZWZQdHI8SlNDOjpCaW5kaW5nczo6Um9vdE9iamVjdD4mJily
b290T2JqZWN0OwogLSAoSlNDOjpKU09iamVjdCAqKV9pbXA7CiBAZW5kCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfaW5zdGFuY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9vYmpjL29iamNfaW5zdGFuY2UuaAppbmRleCAxYWQ5Y2QwMDIxZjM5NTYxODhk
MDAyZjA3Mzg3YzMxZjg4NDI4OWI2Li45OTNhNmY1NzFlNjNiZmNkZWNiYjRmOTRkM2QwNWU4N2Q4
ZjI0ZTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX2luc3Rh
bmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19pbnN0YW5jZS5oCkBA
IC0zNyw3ICszNyw3IEBAIGNsYXNzIE9iamNDbGFzczsKIAogY2xhc3MgT2JqY0luc3RhbmNlIDog
cHVibGljIEluc3RhbmNlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxPYmpjSW5z
dGFuY2U+IGNyZWF0ZShPYmplY3RTdHJ1Y3RQdHIsIFBhc3NSZWZQdHI8Um9vdE9iamVjdD4pOwor
ICAgIHN0YXRpYyBSZWZQdHI8T2JqY0luc3RhbmNlPiBjcmVhdGUoT2JqZWN0U3RydWN0UHRyLCBS
ZWZQdHI8Um9vdE9iamVjdD4mJik7CiAgICAgdmlydHVhbCB+T2JqY0luc3RhbmNlKCk7CiAgICAg
CiAgICAgc3RhdGljIHZvaWQgc2V0R2xvYmFsRXhjZXB0aW9uKE5TU3RyaW5nKiwgSlNHbG9iYWxP
YmplY3QqIGV4Y2VwdGlvbkVudmlyb25tZW50ID0gMCk7IC8vIEEgbnVsbCBleGNlcHRpb25FbnZp
cm9ubWVudCBtZWFucyB0aGUgZXhjZXB0aW9uIHNob3VsZCBwcm9wb2dhdGUgdG8gYW55IGV4ZWN1
dGlvbiBlbnZpcm9ubWVudC4KQEAgLTcwLDcgKzcwLDcgQEAgcHJpdmF0ZToKICAgICBmcmllbmQg
Y2xhc3MgT2JqY0ZpZWxkOwogICAgIHN0YXRpYyB2b2lkIG1vdmVHbG9iYWxFeGNlcHRpb25Ub0V4
ZWNTdGF0ZShFeGVjU3RhdGUqKTsKIAotICAgIE9iamNJbnN0YW5jZShPYmplY3RTdHJ1Y3RQdHIs
IFBhc3NSZWZQdHI8Um9vdE9iamVjdD4pOworICAgIE9iamNJbnN0YW5jZShPYmplY3RTdHJ1Y3RQ
dHIsIFJlZlB0cjxSb290T2JqZWN0PiYmKTsKIAogICAgIHZpcnR1YWwgUnVudGltZU9iamVjdCog
bmV3UnVudGltZU9iamVjdChFeGVjU3RhdGUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYnJpZGdlL29iamMvb2JqY19pbnN0YW5jZS5tbSBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9v
YmpjL29iamNfaW5zdGFuY2UubW0KaW5kZXggMjUyZDU3MGZhM2YwYzY2M2FlODhiMTkyMjI2ZDhl
YWNiOWZlNTEzNC4uOWQ3YjI0OWRjYjU3M2YwN2M0ZDg0NjMyMDIxYTFkNGJmZTYwOTQyYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19pbnN0YW5jZS5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX2luc3RhbmNlLm1tCkBAIC0xMDEsOCAr
MTAxLDggQEAgdm9pZCBPYmpjSW5zdGFuY2U6Om1vdmVHbG9iYWxFeGNlcHRpb25Ub0V4ZWNTdGF0
ZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgc19leGNlcHRpb25FbnZpcm9ubWVudCA9IDA7CiB9CiAK
LU9iamNJbnN0YW5jZTo6T2JqY0luc3RhbmNlKGlkIGluc3RhbmNlLCBQYXNzUmVmUHRyPFJvb3RP
YmplY3Q+IHJvb3RPYmplY3QpIAotICAgIDogSW5zdGFuY2Uocm9vdE9iamVjdCkKK09iamNJbnN0
YW5jZTo6T2JqY0luc3RhbmNlKGlkIGluc3RhbmNlLCBSZWZQdHI8Um9vdE9iamVjdD4mJiByb290
T2JqZWN0KSAKKyAgICA6IEluc3RhbmNlKFdURjo6bW92ZShyb290T2JqZWN0KSkKICAgICAsIF9p
bnN0YW5jZShpbnN0YW5jZSkKICAgICAsIF9jbGFzcygwKQogICAgICwgX3Bvb2woMCkKQEAgLTEx
MCwxNSArMTEwLDE1IEBAIE9iamNJbnN0YW5jZTo6T2JqY0luc3RhbmNlKGlkIGluc3RhbmNlLCBQ
YXNzUmVmUHRyPFJvb3RPYmplY3Q+IHJvb3RPYmplY3QpCiB7CiB9CiAKLVBhc3NSZWZQdHI8T2Jq
Y0luc3RhbmNlPiBPYmpjSW5zdGFuY2U6OmNyZWF0ZShpZCBpbnN0YW5jZSwgUGFzc1JlZlB0cjxS
b290T2JqZWN0PiByb290T2JqZWN0KQorUmVmUHRyPE9iamNJbnN0YW5jZT4gT2JqY0luc3RhbmNl
OjpjcmVhdGUoaWQgaW5zdGFuY2UsIFJlZlB0cjxSb290T2JqZWN0PiYmIHJvb3RPYmplY3QpCiB7
CiAgICAgaWYgKCFzX2luc3RhbmNlV3JhcHBlckNhY2hlKQogICAgICAgICBzX2luc3RhbmNlV3Jh
cHBlckNhY2hlID0gY3JlYXRlSW5zdGFuY2VXcmFwcGVyQ2FjaGUoKTsKICAgICBpZiAodm9pZCog
ZXhpc3RpbmdXcmFwcGVyID0gTlNNYXBHZXQoc19pbnN0YW5jZVdyYXBwZXJDYWNoZSwgaW5zdGFu
Y2UpKQogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8T2JqY0luc3RhbmNlKj4oZXhpc3RpbmdX
cmFwcGVyKTsKLSAgICBSZWZQdHI8T2JqY0luc3RhbmNlPiB3cmFwcGVyID0gYWRvcHRSZWYobmV3
IE9iamNJbnN0YW5jZShpbnN0YW5jZSwgcm9vdE9iamVjdCkpOworICAgIFJlZlB0cjxPYmpjSW5z
dGFuY2U+IHdyYXBwZXIgPSBhZG9wdFJlZihuZXcgT2JqY0luc3RhbmNlKGluc3RhbmNlLCBXVEY6
Om1vdmUocm9vdE9iamVjdCkpKTsKICAgICBOU01hcEluc2VydChzX2luc3RhbmNlV3JhcHBlckNh
Y2hlLCBpbnN0YW5jZSwgd3JhcHBlci5nZXQoKSk7Ci0gICAgcmV0dXJuIHdyYXBwZXIucmVsZWFz
ZSgpOworICAgIHJldHVybiB3cmFwcGVyOwogfQogCiBPYmpjSW5zdGFuY2U6On5PYmpjSW5zdGFu
Y2UoKSAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGlt
ZS5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmgKaW5kZXggYmU1
YWUxMmQwNjcxYWY4NmQ1OGJiZjI2OGEzNzlhODRjMjY5MGYwYy4uNzY4OTY2YjQ4OThhMTRiN2Mz
ZTcwZTlmOTA1NGNlYTE4ZDlmNjYwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdl
L29iamMvb2JqY19ydW50aW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2Jq
Y19ydW50aW1lLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHJpdmF0ZToKIAogY2xhc3MgT2JqY0FycmF5
IDogcHVibGljIEFycmF5IHsKIHB1YmxpYzoKLSAgICBPYmpjQXJyYXkoT2JqZWN0U3RydWN0UHRy
LCBQYXNzUmVmUHRyPFJvb3RPYmplY3Q+KTsKKyAgICBPYmpjQXJyYXkoT2JqZWN0U3RydWN0UHRy
LCBSZWZQdHI8Um9vdE9iamVjdD4mJik7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBdChF
eGVjU3RhdGUgKmV4ZWMsIHVuc2lnbmVkIGludCBpbmRleCwgSlNWYWx1ZSBhVmFsdWUpIGNvbnN0
OwogICAgIHZpcnR1YWwgSlNWYWx1ZSB2YWx1ZUF0KEV4ZWNTdGF0ZSAqZXhlYywgdW5zaWduZWQg
aW50IGluZGV4KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpj
L29iamNfcnVudGltZS5tbSBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGlt
ZS5tbQppbmRleCAwMjU3MGNjYjY4ZjAzOTE1NzQ1ZWZkZjg4MjkwMDZkN2MxMTBiZDI3Li5mNjli
ZmYxYzk4ZmE5MjUwMjY0OWQxODAzZWQ0OGMzZjhmNGNiMmUwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
YnJpZGdlL29iamMvb2JqY19ydW50aW1lLm1tCkBAIC0xNDYsOCArMTQ2LDggQEAgdm9pZCBPYmpj
RmllbGQ6OnNldFZhbHVlVG9JbnN0YW5jZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEluc3RhbmNl
KiBpbnN0YW5jZSwgSlMKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBPYmpjQXJyYXkgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQogCi1PYmpjQXJyYXk6Ok9iamNBcnJheShPYmplY3RTdHJ1Y3RQ
dHIgYSwgUGFzc1JlZlB0cjxSb290T2JqZWN0PiByb290T2JqZWN0KQotICAgIDogQXJyYXkocm9v
dE9iamVjdCkKK09iamNBcnJheTo6T2JqY0FycmF5KE9iamVjdFN0cnVjdFB0ciBhLCBSZWZQdHI8
Um9vdE9iamVjdD4mJiByb290T2JqZWN0KQorICAgIDogQXJyYXkoV1RGOjptb3ZlKHJvb3RPYmpl
Y3QpKQogICAgICwgX2FycmF5KGEpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcnVudGltZV9vYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVf
b2JqZWN0LmNwcAppbmRleCA1ZDBmYTRmODEyYTlhZGZiOGYyNmE5NzUxZTg5ZDZlYmRkZWZmZDYy
Li40MmMzNTc3NzkwMWQ0NmEzM2FkNDUyM2Y5NjM2MTRiMGU2OGM3NTNiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5jcHAKQEAgLTM3LDkgKzM3LDkgQEAgbmFtZXNwYWNl
IEJpbmRpbmdzIHsKIAogV0VCQ09SRV9FWFBPUlQgY29uc3QgQ2xhc3NJbmZvIFJ1bnRpbWVPYmpl
Y3Q6OnNfaW5mbyA9IHsgIlJ1bnRpbWVPYmplY3QiLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKFJ1bnRpbWVPYmplY3QpIH07CiAKLVJ1bnRpbWVPYmplY3Q6OlJ1bnRpbWVP
YmplY3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxJbnN0YW5jZT4g
aW5zdGFuY2UpCitSdW50aW1lT2JqZWN0OjpSdW50aW1lT2JqZWN0KFZNJiB2bSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIFJlZlB0cjxJbnN0YW5jZT4mJiBpbnN0YW5jZSkKICAgICA6IEpTRGVzdHJ1
Y3RpYmxlT2JqZWN0KHZtLCBzdHJ1Y3R1cmUpCi0gICAgLCBtX2luc3RhbmNlKGluc3RhbmNlKQor
ICAgICwgbV9pbnN0YW5jZShXVEY6Om1vdmUoaW5zdGFuY2UpKQogewogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9ydW50aW1lX29iamVjdC5oCmluZGV4IDY5YTA2MjhjMWUzMjk0YzJhZDNmMjFjNjgz
NzU2ZWE3YTZiODM5OGYuLjAzNTY0YTgzNGZiMTIwZTQ4NTZiNDM5MGQ0MDZmNDlmMThhMzA4NmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5oCkBAIC0zNyw5ICszNyw5IEBA
IHB1YmxpYzoKICAgICB0eXBlZGVmIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0IEJhc2U7CiAgICAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3Mg
fCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVz
IHwgVHlwZU9mU2hvdWxkQ2FsbEdldENhbGxEYXRhOwogCi0gICAgc3RhdGljIFJ1bnRpbWVPYmpl
Y3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPEluc3Rh
bmNlPiBpbnN0YW5jZSkKKyAgICBzdGF0aWMgUnVudGltZU9iamVjdCogY3JlYXRlKFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZlB0cjxJbnN0YW5jZT4mJiBpbnN0YW5jZSkKICAgICB7
Ci0gICAgICAgIFJ1bnRpbWVPYmplY3QqIG9iamVjdCA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVD
ZWxsPFJ1bnRpbWVPYmplY3Q+KHZtLmhlYXApKSBSdW50aW1lT2JqZWN0KHZtLCBzdHJ1Y3R1cmUs
IGluc3RhbmNlKTsKKyAgICAgICAgUnVudGltZU9iamVjdCogb2JqZWN0ID0gbmV3IChOb3ROdWxs
LCBhbGxvY2F0ZUNlbGw8UnVudGltZU9iamVjdD4odm0uaGVhcCkpIFJ1bnRpbWVPYmplY3Qodm0s
IHN0cnVjdHVyZSwgV1RGOjptb3ZlKGluc3RhbmNlKSk7CiAgICAgICAgIG9iamVjdC0+ZmluaXNo
Q3JlYXRpb24odm0pOwogICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgIH0KQEAgLTc0LDcgKzc0
LDcgQEAgcHVibGljOgogICAgIH0KIAogcHJvdGVjdGVkOgotICAgIFJ1bnRpbWVPYmplY3QoVk0m
LCBTdHJ1Y3R1cmUqLCBQYXNzUmVmUHRyPEluc3RhbmNlPik7CisgICAgUnVudGltZU9iamVjdChW
TSYsIFN0cnVjdHVyZSosIFJlZlB0cjxJbnN0YW5jZT4mJik7CiAgICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihWTSYpOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdl
L3J1bnRpbWVfcm9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmNw
cAppbmRleCA3Y2RlMzk5NGNhNjE0ODE3MWM1Njc5NGFmZjkwNWZjMjZjNmY1ZDRjLi42MmZlZTdl
MzZjNzM2NzBiMzY4ZmJlZTJjYzkxNmQyNzNlMTNiMmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2UvcnVudGltZV9yb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
cnVudGltZV9yb290LmNwcApAQCAtODAsOSArODAsOSBAQCBSb290T2JqZWN0OjpJbnZhbGlkYXRp
b25DYWxsYmFjazo6fkludmFsaWRhdGlvbkNhbGxiYWNrKCkKIHsKIH0KIAotUGFzc1JlZlB0cjxS
b290T2JqZWN0PiBSb290T2JqZWN0OjpjcmVhdGUoY29uc3Qgdm9pZCogbmF0aXZlSGFuZGxlLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorUmVmPFJvb3RPYmplY3Q+IFJvb3RPYmplY3Q6
OmNyZWF0ZShjb25zdCB2b2lkKiBuYXRpdmVIYW5kbGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSb290T2JqZWN0KG5hdGl2ZUhhbmRs
ZSwgZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUm9vdE9iamVjdChu
YXRpdmVIYW5kbGUsIGdsb2JhbE9iamVjdCkpOwogfQogCiBSb290T2JqZWN0OjpSb290T2JqZWN0
KGNvbnN0IHZvaWQqIG5hdGl2ZUhhbmRsZSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaAppbmRleCBlZmJiZTBlNWM4MjhlYWVmYWNi
N2IzZTVlOWVmOTIzZjQ0NWYxYTc1Li41NGZjN2YxODVjYWUxMmRlN2Q0OGU0ZTA2ZmVmMmI2YzE3
Y2NiMGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oCkBAIC0zMyw3ICszMyw2
IEBACiAjaW5jbHVkZSA8d3RmL0hhc2hDb3VudGVkU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hT
ZXQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpA
QCAtNTcsNyArNTYsNyBAQCBjbGFzcyBSb290T2JqZWN0IDogcHVibGljIFJlZkNvdW50ZWQ8Um9v
dE9iamVjdD4sIHByaXZhdGUgSlNDOjpXZWFrSGFuZGxlT3duZXIgewogcHVibGljOgogICAgIFdF
QkNPUkVfRVhQT1JUIHZpcnR1YWwgflJvb3RPYmplY3QoKTsKICAgICAKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxSb290T2JqZWN0PiBjcmVhdGUoY29uc3Qgdm9pZCogbmF0aXZlSGFuZGxlLCBKU0ds
b2JhbE9iamVjdCopOworICAgIHN0YXRpYyBSZWY8Um9vdE9iamVjdD4gY3JlYXRlKGNvbnN0IHZv
aWQqIG5hdGl2ZUhhbmRsZSwgSlNHbG9iYWxPYmplY3QqKTsKIAogICAgIGJvb2wgaXNWYWxpZCgp
IHsgcmV0dXJuIG1faXNWYWxpZDsgfQogICAgIHZvaWQgaW52YWxpZGF0ZSgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>