<?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>144224</bug_id>
          
          <creation_ts>2015-04-26 06:56:21 -0700</creation_ts>
          <short_desc>[WK2] API::URLRequest, API::URLResponse creation functions should return Ref&lt;&gt;</short_desc>
          <delta_ts>2015-04-28 01:08:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1088752</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-26 06:56:21 -0700</bug_when>
    <thetext>API::URLRequest, API::URLResponse creation functions should return Ref&lt;&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088753</commentid>
    <comment_count>1</comment_count>
      <attachid>251688</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-26 06:57:50 -0700</bug_when>
    <thetext>Created attachment 251688
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088761</commentid>
    <comment_count>2</comment_count>
      <attachid>251695</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-26 07:12:19 -0700</bug_when>
    <thetext>Created attachment 251695
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089066</commentid>
    <comment_count>3</comment_count>
      <attachid>251755</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-27 10:33:49 -0700</bug_when>
    <thetext>Created attachment 251755
Patch

Reuploading the same patch, there doesn&apos;t seem to be any valid error in the iOS EWS report for the previous one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089427</commentid>
    <comment_count>4</comment_count>
      <attachid>251828</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-27 23:56:42 -0700</bug_when>
    <thetext>Created attachment 251828
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089438</commentid>
    <comment_count>5</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-28 01:08:11 -0700</bug_when>
    <thetext>Committed r183462: &lt;http://trac.webkit.org/changeset/183462&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251688</attachid>
            <date>2015-04-26 06:57:50 -0700</date>
            <delta_ts>2015-04-26 07:12:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144224-20150426155642.patch</filename>
            <type>text/plain</type>
            <size>22672</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTUwODgyZTc0MTE2ZTM5
NzJhZDkzYjZjYTVjYTBjYTZiODI2MDEzNC4uYWY0NGI4YjI3OWFlZWI0N2ZmMmZhMDJiNTc0NzBj
MWJiNmU2ZTRlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE1LTA0LTI2ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBBUEk6OlVSTFJlcXVl
c3QsIEFQSTo6VVJMUmVzcG9uc2UgY3JlYXRpb24gZnVuY3Rpb25zIHNob3VsZCByZXR1cm4gUmVm
PD4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDIy
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEhhdmUg
QVBJOjpVUkxSZXF1ZXN0IGFuZCBBUEk6OlVSTFJlc3BvbnNlIGNyZWF0aW9uIGZ1bmN0aW9ucyBy
ZXR1cm4gUmVmPD4uCisgICAgICAgIFRoZSBjYWxsLXNpdGVzIGFyZSBhbHNvIHVwZGF0ZWQsIHVz
aW5nIGFuZCBvcGVyYXRpbmcgb24gdGhlIHJldHVybmVkIFJlZjw+IG9iamVjdAorICAgICAgICB3
aGVyZSBwb3NzaWJsZS4KKworICAgICAgICAqIFNoYXJlZC9BUEkvQVBJVVJMUmVxdWVzdC5oOgor
ICAgICAgICAoQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUpOgorICAgICAgICAqIFNoYXJlZC9BUEkv
QVBJVVJMUmVzcG9uc2UuaDoKKyAgICAgICAgKEFQSTo6VVJMUmVzcG9uc2U6OmNyZWF0ZSk6Cisg
ICAgICAgICogU2hhcmVkL0FQSS9jL1dLVVJMUmVxdWVzdC5jcHA6CisgICAgICAgIChXS1VSTFJl
cXVlc3RDcmVhdGVXaXRoV0tVUkwpOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9tYWMvV0tVUkxS
ZXF1ZXN0TlMubW06CisgICAgICAgIChXS1VSTFJlcXVlc3RDcmVhdGVXaXRoTlNVUkxSZXF1ZXN0
KToKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvbWFjL1dLVVJMUmVzcG9uc2VOUy5tbToKKyAgICAg
ICAgKFdLVVJMUmVzcG9uc2VDcmVhdGVXaXRoTlNVUkxSZXNwb25zZSk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHA6CisgICAgICAgIChXS0NvbnRleHRTZXREb3dubG9h
ZENsaWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLRG93bmxvYWQuY3BwOgorICAg
ICAgICAoV0tEb3dubG9hZENvcHlSZXF1ZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tOYXZpZ2F0aW9uRGF0YVJlZi5jcHA6CisgICAgICAgIChXS05hdmlnYXRpb25EYXRhQ29weU9y
aWdpbmFsUmVxdWVzdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHA6Cisg
ICAgICAgIChXS1BhZ2VTZXRQYWdlUG9saWN5Q2xpZW50KToKKyAgICAgICAgKFdLUGFnZVNldFBh
Z2VVSUNsaWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5t
bToKKyAgICAgICAgKFdlYktpdDo6TmF2aWdhdGlvblN0YXRlOjpOYXZpZ2F0aW9uQ2xpZW50Ojpk
ZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0
d29yay9DdXN0b21Qcm90b2NvbHMvc291cC9XZWJTb3VwQ3VzdG9tUHJvdG9jb2xSZXF1ZXN0TWFu
YWdlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNvdXBDdXN0b21Qcm90b2NvbFJl
cXVlc3RNYW5hZ2VyQ2xpZW50OjpzdGFydExvYWRpbmcpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJLaXRXZWJQYWdlLmNwcDoKKyAgICAgICAgKHdpbGxT
ZW5kUmVxdWVzdEZvckZyYW1lKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlUGFnZVBvbGljeUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oklu
amVjdGVkQnVuZGxlUGFnZVBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFj
dGlvbik6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlUGFnZVBvbGljeUNsaWVudDo6
ZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGVQYWdlUG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JSZXNwb25zZSk6CisKIDIw
MTUtMDQtMjUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgRnVydGhlciB1cGRhdGUgZ2VzdHVyZSBzd2lwZSBzaGFkb3cgc3R5bGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQVBJVVJMUmVxdWVzdC5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0FQSS9BUElVUkxSZXF1ZXN0LmgKaW5kZXggZDVlNGQ0YTJlZjk4NmIyODU3NzA1
YjMyMWFlZTgxYjI3NDkyMjg1ZS4uMDI2Y2NlMzliMjE2YzBlYTFhNWMwNzg1ZmY4MDQ2NGM0MDZi
ZTViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9BUElVUkxSZXF1ZXN0
LmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9BUElVUkxSZXF1ZXN0LmgKQEAgLTM5
LDkgKzM5LDkgQEAgbmFtZXNwYWNlIEFQSSB7CiAKIGNsYXNzIFVSTFJlcXVlc3QgOiBwdWJsaWMg
T2JqZWN0SW1wbDxPYmplY3Q6OlR5cGU6OlVSTFJlcXVlc3Q+IHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxVUkxSZXF1ZXN0PiBjcmVhdGUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0KQorICAgIHN0YXRpYyBSZWY8VVJMUmVxdWVzdD4gY3JlYXRlKGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKICAgICB7Ci0gICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgVVJMUmVxdWVzdChyZXF1ZXN0KSk7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFVSTFJlcXVlc3QocmVxdWVzdCkpOwogICAgIH0KIAogICAgIGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gbV9y
ZXF1ZXN0OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0FQSVVSTFJl
c3BvbnNlLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0FQSVVSTFJlc3BvbnNlLmgKaW5k
ZXggMjc5MGI5ZmJlM2Y5YzUxYmZkZmE0MjE1NDk2ZTM5OGRhZjlmNGZkYy4uZGI4MWIzZjljNzg5
Y2Y3MzNiZDFjZTNjNTM3N2I2NjY2MDA4MjgyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSS9BUElVUkxSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
UEkvQVBJVVJMUmVzcG9uc2UuaApAQCAtMzksOSArMzksOSBAQCBuYW1lc3BhY2UgQVBJIHsKIAog
Y2xhc3MgVVJMUmVzcG9uc2UgOiBwdWJsaWMgT2JqZWN0SW1wbDxPYmplY3Q6OlR5cGU6OlVSTFJl
c3BvbnNlPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8VVJMUmVzcG9uc2U+IGNy
ZWF0ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKKyAgICBzdGF0
aWMgUmVmPFVSTFJlc3BvbnNlPiBjcmVhdGUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFVSTFJlc3Bv
bnNlKHJlc3BvbnNlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFVSTFJlc3BvbnNl
KHJlc3BvbnNlKSk7CiAgICAgfQogCiAgICAgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSYgcmVzb3VyY2VSZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VSTFJlcXVlc3QuY3BwIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMUmVxdWVzdC5jcHAKaW5kZXggZWRiZjIxOWRj
MjQ4NDJjN2FmNDM1Nzg4NDE3OGMzZGQ0ZWUzMjZkNS4uMWEzMzdiMmE1Nzk2ZjliOTdmY2Y0M2Y3
MTFiMWJjODU1NmY1MjZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9j
L1dLVVJMUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJM
UmVxdWVzdC5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgV0tUeXBlSUQgV0tVUkxSZXF1ZXN0R2V0VHlw
ZUlEKCkKIAogV0tVUkxSZXF1ZXN0UmVmIFdLVVJMUmVxdWVzdENyZWF0ZVdpdGhXS1VSTChXS1VS
TFJlZiB1cmwpCiB7Ci0gICAgcmV0dXJuIHRvQVBJKEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKFVS
TChVUkwoKSwgdG9JbXBsKHVybCktPnN0cmluZygpKSkubGVha1JlZigpKTsKKyAgICByZXR1cm4g
dG9BUEkoJkFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKFVSTChVUkwoKSwgdG9JbXBsKHVybCktPnN0
cmluZygpKSkubGVha1JlZigpKTsKIH0KIAogV0tVUkxSZWYgV0tVUkxSZXF1ZXN0Q29weVVSTChX
S1VSTFJlcXVlc3RSZWYgcmVxdWVzdFJlZikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvYy9tYWMvV0tVUkxSZXF1ZXN0TlMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJL2MvbWFjL1dLVVJMUmVxdWVzdE5TLm1tCmluZGV4IGY4MDQxNThmNTIxYTc3M2M4OGVhYjk3
OWFkYWJiZDcyZGQ0YWMyZjQuLmFhZGRkZDE5MzdkNGRmYzEyMTgwNDk2MTRkNmE2NTI2OWNiZDE5
MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tVUkxSZXF1
ZXN0TlMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS1VSTFJlcXVl
c3ROUy5tbQpAQCAtMzUsOCArMzUsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogV0tVUkxS
ZXF1ZXN0UmVmIFdLVVJMUmVxdWVzdENyZWF0ZVdpdGhOU1VSTFJlcXVlc3QoTlNVUkxSZXF1ZXN0
KiB1cmxSZXF1ZXN0KQogewogICAgIFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+IGNvcGllZFVSTFJl
cXVlc3QgPSBhZG9wdE5TKFt1cmxSZXF1ZXN0IGNvcHldKTsKLSAgICBSZWZQdHI8QVBJOjpVUkxS
ZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUoY29waWVkVVJMUmVxdWVz
dC5nZXQoKSk7Ci0gICAgcmV0dXJuIHRvQVBJKHJlcXVlc3QucmVsZWFzZSgpLmxlYWtSZWYoKSk7
CisgICAgcmV0dXJuIHRvQVBJKCZBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShjb3BpZWRVUkxSZXF1
ZXN0LmdldCgpKS5sZWFrUmVmKCkpOwogfQogCiBOU1VSTFJlcXVlc3QqIFdLVVJMUmVxdWVzdENv
cHlOU1VSTFJlcXVlc3QoV0tVUkxSZXF1ZXN0UmVmIHVybFJlcXVlc3QpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLVVJMUmVzcG9uc2VOUy5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tVUkxSZXNwb25zZU5TLm1tCmluZGV4IDg3MjEx
ZTY0OTFlNWUyZGZhYTZmODFkMzg3MjEzOThjM2Y2NjViZWEuLjg5MjE4NTk0MGY3YWRmMGNiYmNk
YzFmOWJlZTlkMGNhZTBhYzQ0YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
UEkvYy9tYWMvV0tVUkxSZXNwb25zZU5TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
UEkvYy9tYWMvV0tVUkxSZXNwb25zZU5TLm1tCkBAIC0zNCw4ICszNCw3IEBAIHVzaW5nIG5hbWVz
cGFjZSBXZWJLaXQ7CiBXS1VSTFJlc3BvbnNlUmVmIFdLVVJMUmVzcG9uc2VDcmVhdGVXaXRoTlNV
UkxSZXNwb25zZShOU1VSTFJlc3BvbnNlKiB1cmxSZXNwb25zZSkKIHsKICAgICBSZXRhaW5QdHI8
TlNVUkxSZXNwb25zZT4gY29waWVkVVJMUmVzcG9uc2UgPSBhZG9wdE5TKFt1cmxSZXNwb25zZSBj
b3B5XSk7Ci0gICAgUmVmUHRyPEFQSTo6VVJMUmVzcG9uc2U+IHJlc3BvbnNlID0gQVBJOjpVUkxS
ZXNwb25zZTo6Y3JlYXRlKGNvcGllZFVSTFJlc3BvbnNlLmdldCgpKTsKLSAgICByZXR1cm4gdG9B
UEkocmVzcG9uc2UucmVsZWFzZSgpLmxlYWtSZWYoKSk7CisgICAgcmV0dXJuIHRvQVBJKCZBUEk6
OlVSTFJlc3BvbnNlOjpjcmVhdGUoY29waWVkVVJMUmVzcG9uc2UuZ2V0KCkpLmxlYWtSZWYoKSk7
CiB9CiAKIE5TVVJMUmVzcG9uc2UqIFdLVVJMUmVzcG9uc2VDb3B5TlNVUkxSZXNwb25zZShXS1VS
TFJlc3BvbnNlUmVmIHVybFJlc3BvbnNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tDb250ZXh0LmNwcAppbmRleCA1ODFkOTk3MmFkZWI5Yjc3NmQxNzZhNjk2OWUyMmY4NjMw
NDdjZjc0Li41NjNlYzAxZjYwNWJkZWFhOTYwNzhlYjVkN2E4Y2Q3ZTVkZTUwZGEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcApAQCAtMjAzLDcgKzIw
Myw3IEBAIHZvaWQgV0tDb250ZXh0U2V0RG93bmxvYWRDbGllbnQoV0tDb250ZXh0UmVmIGNvbnRl
eHRSZWYsIGNvbnN0IFdLQ29udGV4dERvd25sb2FkCiAgICAgICAgICAgICBpZiAoIW1fY2xpZW50
LmRpZFJlY2VpdmVSZXNwb25zZSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAg
ICAgIG1fY2xpZW50LmRpZFJlY2VpdmVSZXNwb25zZSh0b0FQSShwcm9jZXNzUG9vbCksIHRvQVBJ
KGRvd25sb2FkUHJveHkpLCB0b0FQSShBUEk6OlVSTFJlc3BvbnNlOjpjcmVhdGUocmVzcG9uc2Up
LmdldCgpKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgICAgIG1fY2xpZW50
LmRpZFJlY2VpdmVSZXNwb25zZSh0b0FQSShwcm9jZXNzUG9vbCksIHRvQVBJKGRvd25sb2FkUHJv
eHkpLCB0b0FQSShBUEk6OlVSTFJlc3BvbnNlOjpjcmVhdGUocmVzcG9uc2UpLnB0cigpKSwgbV9j
bGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICAgICAgfQogCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBkaWRSZWNlaXZlRGF0YShXZWJQcm9jZXNzUG9vbCogcHJvY2Vzc1Bvb2wsIERvd25sb2FkUHJv
eHkqIGRvd25sb2FkUHJveHksIHVpbnQ2NF90IGxlbmd0aCkgb3ZlcnJpZGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Rvd25sb2FkLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Rvd25sb2FkLmNwcAppbmRleCBiZWI4MjliM2ViY2Ux
OTIzYzM2ODQ1ZmVmZDU2NjAzZGI3NzFlMWEyLi43MDVjZmYwYjNiMDViZGE4NTE1Yjg2YzMxNDIy
ZTQ1NzA1MWUwYTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tEb3dubG9hZC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRG93
bmxvYWQuY3BwCkBAIC00NSw3ICs0NSw3IEBAIHVpbnQ2NF90IFdLRG93bmxvYWRHZXRJRChXS0Rv
d25sb2FkUmVmIGRvd25sb2FkKQogCiBXS1VSTFJlcXVlc3RSZWYgV0tEb3dubG9hZENvcHlSZXF1
ZXN0KFdLRG93bmxvYWRSZWYgZG93bmxvYWQpCiB7Ci0gICAgcmV0dXJuIHRvQVBJKEFQSTo6VVJM
UmVxdWVzdDo6Y3JlYXRlKHRvSW1wbChkb3dubG9hZCktPnJlcXVlc3QoKSkubGVha1JlZigpKTsK
KyAgICByZXR1cm4gdG9BUEkoJkFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKHRvSW1wbChkb3dubG9h
ZCktPnJlcXVlc3QoKSkubGVha1JlZigpKTsKIH0KIAogV0tEYXRhUmVmIFdLRG93bmxvYWRHZXRS
ZXN1bWVEYXRhKFdLRG93bmxvYWRSZWYgZG93bmxvYWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXZpZ2F0aW9uRGF0YVJlZi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXZpZ2F0aW9uRGF0YVJlZi5jcHAKaW5kZXggODY4NDBl
MzNlMzQyY2NlY2I0YzQ0ZWU1MzI1ODg2MWRmMTY2Y2M5Ny4uMGE4MTViYjgyN2U2ZjEyNGZmYTQ5
ZmRmZjYxMDUxZTM5MDZmNjZiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLTmF2aWdhdGlvbkRhdGFSZWYuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS05hdmlnYXRpb25EYXRhUmVmLmNwcApAQCAtNTUsNSArNTUsNSBAQCBXS1VS
TFJlZiBXS05hdmlnYXRpb25EYXRhQ29weU5hdmlnYXRpb25EZXN0aW5hdGlvblVSTChXS05hdmln
YXRpb25EYXRhUmVmIG5hdmlnYQogCiBXS1VSTFJlcXVlc3RSZWYgV0tOYXZpZ2F0aW9uRGF0YUNv
cHlPcmlnaW5hbFJlcXVlc3QoV0tOYXZpZ2F0aW9uRGF0YVJlZiBuYXZpZ2F0aW9uRGF0YSkKIHsK
LSAgICByZXR1cm4gdG9BUEkoQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUodG9JbXBsKG5hdmlnYXRp
b25EYXRhKS0+b3JpZ2luYWxSZXF1ZXN0KCkpLmxlYWtSZWYoKSk7CisgICAgcmV0dXJuIHRvQVBJ
KCZBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZSh0b0ltcGwobmF2aWdhdGlvbkRhdGEpLT5vcmlnaW5h
bFJlcXVlc3QoKSkubGVha1JlZigpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZS5jcHAKaW5kZXggZWRlMWI4YTQxNzUxZjA2ZjIyYTA0N2FmMmMyZWU3YzkyNTkzZWU5
NC4uNDFhZGZmY2ZjN2EwOGMzZTM5MGU4ODhmNjAzMGQzMWNiODllNjQ4MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTEyNTcsMTUgKzEyNTcsMTUgQEAg
dm9pZCBXS1BhZ2VTZXRQYWdlUG9saWN5Q2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBX
S1BhZ2VQb2xpY3lDbGllbnRCYXNlKgogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgIH0KIAotICAgICAgICAgICAgUmVmUHRyPEFQSTo6VVJMUmVxdWVzdD4gb3JpZ2luYWxSZXF1
ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUob3JpZ2luYWxSZXNvdXJjZVJlcXVlc3QpOwot
ICAgICAgICAgICAgUmVmUHRyPEFQSTo6VVJMUmVxdWVzdD4gcmVxdWVzdCA9IEFQSTo6VVJMUmVx
dWVzdDo6Y3JlYXRlKHJlc291cmNlUmVxdWVzdCk7CisgICAgICAgICAgICBSZWY8QVBJOjpVUkxS
ZXF1ZXN0PiBvcmlnaW5hbFJlcXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShvcmlnaW5h
bFJlc291cmNlUmVxdWVzdCk7CisgICAgICAgICAgICBSZWY8QVBJOjpVUkxSZXF1ZXN0PiByZXF1
ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKIAogICAgICAg
ICAgICAgaWYgKG1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25fZGVwcmVj
YXRlZEZvclVzZVdpdGhWMCkKLSAgICAgICAgICAgICAgICBtX2NsaWVudC5kZWNpZGVQb2xpY3lG
b3JOYXZpZ2F0aW9uQWN0aW9uX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAodG9BUEkoJnBhZ2UpLCB0
b0FQSShmcmFtZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm5hdmlnYXRpb25UeXBlKSwg
dG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW9kaWZpZXJzKSwgdG9BUEkobmF2aWdhdGlvbkFj
dGlvbkRhdGEubW91c2VCdXR0b24pLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgdG9BUEkobGlzdGVu
ZXIucHRyKCkpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7Cisg
ICAgICAgICAgICAgICAgbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbl9k
ZXByZWNhdGVkRm9yVXNlV2l0aFYwKHRvQVBJKCZwYWdlKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShu
YXZpZ2F0aW9uQWN0aW9uRGF0YS5uYXZpZ2F0aW9uVHlwZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rp
b25EYXRhLm1vZGlmaWVycyksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vdXNlQnV0dG9u
KSwgdG9BUEkocmVxdWVzdC5wdHIoKSksIHRvQVBJKGxpc3RlbmVyLnB0cigpKSwgdG9BUEkodXNl
ckRhdGEpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogICAgICAgICAgICAgZWxzZSBpZiAo
bV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbl9kZXByZWNhdGVkRm9yVXNl
V2l0aFYxKQotICAgICAgICAgICAgICAgIG1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5hdmlnYXRp
b25BY3Rpb25fZGVwcmVjYXRlZEZvclVzZVdpdGhWMSh0b0FQSSgmcGFnZSksIHRvQVBJKGZyYW1l
KSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubmF2aWdhdGlvblR5cGUpLCB0b0FQSShuYXZp
Z2F0aW9uQWN0aW9uRGF0YS5tb2RpZmllcnMpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5t
b3VzZUJ1dHRvbiksIHRvQVBJKG9yaWdpbmF0aW5nRnJhbWUpLCB0b0FQSShyZXF1ZXN0LmdldCgp
KSwgdG9BUEkobGlzdGVuZXIucHRyKCkpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50LmJhc2Uu
Y2xpZW50SW5mbyk7CisgICAgICAgICAgICAgICAgbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvbkFjdGlvbl9kZXByZWNhdGVkRm9yVXNlV2l0aFYxKHRvQVBJKCZwYWdlKSwgdG9BUEko
ZnJhbWUpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5uYXZpZ2F0aW9uVHlwZSksIHRvQVBJ
KG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vZGlmaWVycyksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25E
YXRhLm1vdXNlQnV0dG9uKSwgdG9BUEkob3JpZ2luYXRpbmdGcmFtZSksIHRvQVBJKHJlcXVlc3Qu
cHRyKCkpLCB0b0FQSShsaXN0ZW5lci5wdHIoKSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQu
YmFzZS5jbGllbnRJbmZvKTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBtX2Ns
aWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKHRvQVBJKCZwYWdlKSwgdG9BUEko
ZnJhbWUpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5uYXZpZ2F0aW9uVHlwZSksIHRvQVBJ
KG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vZGlmaWVycyksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25E
YXRhLm1vdXNlQnV0dG9uKSwgdG9BUEkob3JpZ2luYXRpbmdGcmFtZSksIHRvQVBJKG9yaWdpbmFs
UmVxdWVzdC5nZXQoKSksIHRvQVBJKHJlcXVlc3QuZ2V0KCkpLCB0b0FQSShsaXN0ZW5lci5wdHIo
KSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAg
ICAgICAgICBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKHRvQVBJKCZw
YWdlKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5uYXZpZ2F0aW9u
VHlwZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vZGlmaWVycyksIHRvQVBJKG5hdmln
YXRpb25BY3Rpb25EYXRhLm1vdXNlQnV0dG9uKSwgdG9BUEkob3JpZ2luYXRpbmdGcmFtZSksIHRv
QVBJKG9yaWdpbmFsUmVxdWVzdC5wdHIoKSksIHRvQVBJKHJlcXVlc3QucHRyKCkpLCB0b0FQSShs
aXN0ZW5lci5wdHIoKSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZv
KTsKICAgICAgICAgfQogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZWNpZGVQb2xpY3lGb3JOZXdX
aW5kb3dBY3Rpb24oV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJGcmFtZVByb3h5JiBmcmFtZSwgY29u
c3QgTmF2aWdhdGlvbkFjdGlvbkRhdGEmIG5hdmlnYXRpb25BY3Rpb25EYXRhLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCwgY29uc3QgU3RyaW5nJiBmcmFtZU5hbWUsIFJl
ZjxXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk+JiYgbGlzdGVuZXIsIEFQSTo6T2JqZWN0KiB1
c2VyRGF0YSkgb3ZlcnJpZGUKQEAgLTEyNzUsOSArMTI3NSw5IEBAIHZvaWQgV0tQYWdlU2V0UGFn
ZVBvbGljeUNsaWVudChXS1BhZ2VSZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdlUG9saWN5Q2xpZW50
QmFzZSoKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKLSAgICAgICAg
ICAgIFJlZlB0cjxBUEk6OlVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNy
ZWF0ZShyZXNvdXJjZVJlcXVlc3QpOworICAgICAgICAgICAgUmVmPEFQSTo6VVJMUmVxdWVzdD4g
cmVxdWVzdCA9IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKHJlc291cmNlUmVxdWVzdCk7CiAKLSAg
ICAgICAgICAgIG1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbih0b0FQSSgm
cGFnZSksIHRvQVBJKCZmcmFtZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm5hdmlnYXRp
b25UeXBlKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW9kaWZpZXJzKSwgdG9BUEkobmF2
aWdhdGlvbkFjdGlvbkRhdGEubW91c2VCdXR0b24pLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgdG9B
UEkoZnJhbWVOYW1lLmltcGwoKSksIHRvQVBJKGxpc3RlbmVyLnB0cigpKSwgdG9BUEkodXNlckRh
dGEpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAgICAgICAgbV9jbGllbnQuZGVj
aWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKHRvQVBJKCZwYWdlKSwgdG9BUEkoJmZyYW1lKSwg
dG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubmF2aWdhdGlvblR5cGUpLCB0b0FQSShuYXZpZ2F0
aW9uQWN0aW9uRGF0YS5tb2RpZmllcnMpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5tb3Vz
ZUJ1dHRvbiksIHRvQVBJKHJlcXVlc3QucHRyKCkpLCB0b0FQSShmcmFtZU5hbWUuaW1wbCgpKSwg
dG9BUEkobGlzdGVuZXIucHRyKCkpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50LmJhc2UuY2xp
ZW50SW5mbyk7CiAgICAgICAgIH0KIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVjaWRlUG9saWN5
Rm9yUmVzcG9uc2UoV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJGcmFtZVByb3h5JiBmcmFtZSwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25zZSwgY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiByZXNvdXJjZVJlcXVlc3QsIGJvb2wgY2FuU2hvd01JTUVUeXBlLCBSZWY8V2ViRnJhbWVQ
b2xpY3lMaXN0ZW5lclByb3h5PiYmIGxpc3RlbmVyLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpIG92
ZXJyaWRlCkBAIC0xMjg3LDEzICsxMjg3LDEzIEBAIHZvaWQgV0tQYWdlU2V0UGFnZVBvbGljeUNs
aWVudChXS1BhZ2VSZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdlUG9saWN5Q2xpZW50QmFzZSoKICAg
ICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIFJlZlB0
cjxBUEk6OlVSTFJlc3BvbnNlPiByZXNwb25zZSA9IEFQSTo6VVJMUmVzcG9uc2U6OmNyZWF0ZShy
ZXNvdXJjZVJlc3BvbnNlKTsKLSAgICAgICAgICAgIFJlZlB0cjxBUEk6OlVSTFJlcXVlc3Q+IHJl
cXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShyZXNvdXJjZVJlcXVlc3QpOworICAgICAg
ICAgICAgUmVmPEFQSTo6VVJMUmVzcG9uc2U+IHJlc3BvbnNlID0gQVBJOjpVUkxSZXNwb25zZTo6
Y3JlYXRlKHJlc291cmNlUmVzcG9uc2UpOworICAgICAgICAgICAgUmVmPEFQSTo6VVJMUmVxdWVz
dD4gcmVxdWVzdCA9IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKHJlc291cmNlUmVxdWVzdCk7CiAK
ICAgICAgICAgICAgIGlmIChtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JSZXNwb25zZV9kZXByZWNh
dGVkRm9yVXNlV2l0aFYwKQotICAgICAgICAgICAgICAgIG1fY2xpZW50LmRlY2lkZVBvbGljeUZv
clJlc3BvbnNlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAodG9BUEkoJnBhZ2UpLCB0b0FQSSgmZnJh
bWUpLCB0b0FQSShyZXNwb25zZS5nZXQoKSksIHRvQVBJKHJlcXVlc3QuZ2V0KCkpLCB0b0FQSShs
aXN0ZW5lci5wdHIoKSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZv
KTsKKyAgICAgICAgICAgICAgICBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JSZXNwb25zZV9kZXBy
ZWNhdGVkRm9yVXNlV2l0aFYwKHRvQVBJKCZwYWdlKSwgdG9BUEkoJmZyYW1lKSwgdG9BUEkocmVz
cG9uc2UucHRyKCkpLCB0b0FQSShyZXF1ZXN0LnB0cigpKSwgdG9BUEkobGlzdGVuZXIucHRyKCkp
LCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgICAgICAg
ICBlbHNlCi0gICAgICAgICAgICAgICAgbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2Uo
dG9BUEkoJnBhZ2UpLCB0b0FQSSgmZnJhbWUpLCB0b0FQSShyZXNwb25zZS5nZXQoKSksIHRvQVBJ
KHJlcXVlc3QuZ2V0KCkpLCBjYW5TaG93TUlNRVR5cGUsIHRvQVBJKGxpc3RlbmVyLnB0cigpKSwg
dG9BUEkodXNlckRhdGEpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAgICAgICAg
ICAgIG1fY2xpZW50LmRlY2lkZVBvbGljeUZvclJlc3BvbnNlKHRvQVBJKCZwYWdlKSwgdG9BUEko
JmZyYW1lKSwgdG9BUEkocmVzcG9uc2UucHRyKCkpLCB0b0FQSShyZXF1ZXN0LnB0cigpKSwgY2Fu
U2hvd01JTUVUeXBlLCB0b0FQSShsaXN0ZW5lci5wdHIoKSksIHRvQVBJKHVzZXJEYXRhKSwgbV9j
bGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICAgICAgfQogCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCB1bmFibGVUb0ltcGxlbWVudFBvbGljeShXZWJQYWdlUHJveHkmIHBhZ2UsIFdlYkZyYW1lUHJv
eHkmIGZyYW1lLCBjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvciwgQVBJOjpPYmplY3QqIHVzZXJE
YXRhKSBvdmVycmlkZQpAQCAtMTM0OCw4ICsxMzQ4LDggQEAgdm9pZCBXS1BhZ2VTZXRQYWdlVUlD
bGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZVVJQ2xpZW50QmFzZSogd2tDbGll
bnQKICAgICAgICAgICAgIGlmICghbV9jbGllbnQuYmFzZS52ZXJzaW9uKQogICAgICAgICAgICAg
ICAgIHJldHVybiBhZG9wdFJlZih0b0ltcGwobV9jbGllbnQuY3JlYXRlTmV3UGFnZV9kZXByZWNh
dGVkRm9yVXNlV2l0aFYwKHRvQVBJKHBhZ2UpLCB0b0FQSShmZWF0dXJlc01hcC5nZXQoKSksIHRv
QVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vZGlmaWVycyksIHRvQVBJKG5hdmlnYXRpb25BY3Rp
b25EYXRhLm1vdXNlQnV0dG9uKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKSkpOwogCi0gICAg
ICAgICAgICBSZWZQdHI8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0
OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKLSAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZih0
b0ltcGwobV9jbGllbnQuY3JlYXRlTmV3UGFnZSh0b0FQSShwYWdlKSwgdG9BUEkocmVxdWVzdC5n
ZXQoKSksIHRvQVBJKGZlYXR1cmVzTWFwLmdldCgpKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRh
dGEubW9kaWZpZXJzKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW91c2VCdXR0b24pLCBt
X2NsaWVudC5iYXNlLmNsaWVudEluZm8pKSk7CisgICAgICAgICAgICBSZWY8QVBJOjpVUkxSZXF1
ZXN0PiByZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsK
KyAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZih0b0ltcGwobV9jbGllbnQuY3JlYXRlTmV3UGFn
ZSh0b0FQSShwYWdlKSwgdG9BUEkocmVxdWVzdC5wdHIoKSksIHRvQVBJKGZlYXR1cmVzTWFwLmdl
dCgpKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW9kaWZpZXJzKSwgdG9BUEkobmF2aWdh
dGlvbkFjdGlvbkRhdGEubW91c2VCdXR0b24pLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pKSk7
CiAgICAgICAgIH0KIAogICAgICAgICB2aXJ0dWFsIHZvaWQgc2hvd1BhZ2UoV2ViUGFnZVByb3h5
KiBwYWdlKSBvdmVycmlkZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL05hdmlnYXRpb25TdGF0ZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9O
YXZpZ2F0aW9uU3RhdGUubW0KaW5kZXggMGIwYmQ3NWRlNjA5ZTliZWIxMWUyM2MxYTkxMWRkYzhh
NDc2MGVkOS4uODYyNjI1MWRkOTM5YmE1MjEzN2ZkOTcxNjVlM2EwZTBhOGY3MzlkZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCkBA
IC0yNjUsNyArMjY1LDcgQEAgdm9pZCBOYXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25DbGllbnQ6
OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oV2ViUGFnZVAKICAgICAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIFJldGFpblB0cjxOU1VSTFJl
cXVlc3Q+IG5zVVJMUmVxdWVzdCA9IGFkb3B0TlMod3JhcHBlcigqQVBJOjpVUkxSZXF1ZXN0Ojpj
cmVhdGUobG9jYWxOYXZpZ2F0aW9uQWN0aW9uLT5yZXF1ZXN0KCkpLmxlYWtSZWYoKSkpOworICAg
ICAgICAgICAgUmV0YWluUHRyPE5TVVJMUmVxdWVzdD4gbnNVUkxSZXF1ZXN0ID0gYWRvcHROUyh3
cmFwcGVyKEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKGxvY2FsTmF2aWdhdGlvbkFjdGlvbi0+cmVx
dWVzdCgpKS5sZWFrUmVmKCkpKTsKICAgICAgICAgICAgIGlmIChbTlNVUkxDb25uZWN0aW9uIGNh
bkhhbmRsZVJlcXVlc3Q6bnNVUkxSZXF1ZXN0LmdldCgpXSkgewogICAgICAgICAgICAgICAgIGxv
Y2FsTGlzdGVuZXItPnVzZSgpOwogICAgICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9zb3VwL1dl
YlNvdXBDdXN0b21Qcm90b2NvbFJlcXVlc3RNYW5hZ2VyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9zb3VwL1dlYlNvdXBDdXN0b21Q
cm90b2NvbFJlcXVlc3RNYW5hZ2VyQ2xpZW50LmNwcAppbmRleCA1MDkxYTI2MmYxYzQ5NGZkMWM3
MmNlOWU1NGE2MDM5OTk1NTg4ZDFmLi5jNGRlZjYyODcyMmQ5MTBhYzRhZmYyNWNlYjczNTYyZDcz
YmQ3YTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9DdXN0
b21Qcm90b2NvbHMvc291cC9XZWJTb3VwQ3VzdG9tUHJvdG9jb2xSZXF1ZXN0TWFuYWdlckNsaWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9j
b2xzL3NvdXAvV2ViU291cEN1c3RvbVByb3RvY29sUmVxdWVzdE1hbmFnZXJDbGllbnQuY3BwCkBA
IC0yOSw4ICsyOSw4IEBAIGJvb2wgV2ViU291cEN1c3RvbVByb3RvY29sUmVxdWVzdE1hbmFnZXJD
bGllbnQ6OnN0YXJ0TG9hZGluZyhXZWJTb3VwQ3VzdG9tUHJvdG9jCiAgICAgaWYgKCFtX2NsaWVu
dC5zdGFydExvYWRpbmcpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIFJlZlB0cjxBUEk6
OlVSTFJlcXVlc3Q+IHVybFJlcXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShyZXF1ZXN0
KTsKLSAgICBtX2NsaWVudC5zdGFydExvYWRpbmcodG9BUEkoc291cFJlcXVlc3RNYW5hZ2VyKSwg
Y3VzdG9tUHJvdG9jb2xJRCwgdG9BUEkodXJsUmVxdWVzdC5nZXQoKSksIG1fY2xpZW50LmJhc2Uu
Y2xpZW50SW5mbyk7CisgICAgUmVmPEFQSTo6VVJMUmVxdWVzdD4gdXJsUmVxdWVzdCA9IEFQSTo6
VVJMUmVxdWVzdDo6Y3JlYXRlKHJlcXVlc3QpOworICAgIG1fY2xpZW50LnN0YXJ0TG9hZGluZyh0
b0FQSShzb3VwUmVxdWVzdE1hbmFnZXIpLCBjdXN0b21Qcm90b2NvbElELCB0b0FQSSh1cmxSZXF1
ZXN0LnB0cigpKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvZ3RrL1dlYktpdFdlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvZ3RrL1dlYktpdFdlYlBhZ2UuY3BwCmluZGV4IDdiMTc0MmMwNWIy
OWNhM2FlN2Y5OGFmYWJiNzc2NTNmOTgzZTM1ZTguLjUzNWQ4ZjYzM2U5YmJmMWQ1ZDRiZWU2YmQ0
ZmI5MjA0ODc4MTIyNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJLaXRXZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0V2ViUGFnZS5jcHAKQEAg
LTIwMywxNyArMjAzLDE3IEBAIHN0YXRpYyBXS1VSTFJlcXVlc3RSZWYgd2lsbFNlbmRSZXF1ZXN0
Rm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhCiAgICAgUmVzb3VyY2VS
ZXF1ZXN0IHJlc291cmNlUmVxdWVzdDsKICAgICB3ZWJraXRVUklSZXF1ZXN0R2V0UmVzb3VyY2VS
ZXF1ZXN0KHJlcXVlc3QuZ2V0KCksIHJlc291cmNlUmVxdWVzdCk7CiAgICAgcmVzb3VyY2VSZXF1
ZXN0LnNldEluaXRpYXRpbmdQYWdlSUQodG9JbXBsKHBhZ2UpLT5wYWdlSUQoKSk7Ci0gICAgUmVm
UHRyPEFQSTo6VVJMUmVxdWVzdD4gbmV3UmVxdWVzdCA9IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRl
KHJlc291cmNlUmVxdWVzdCk7CisgICAgUmVmPEFQSTo6VVJMUmVxdWVzdD4gbmV3UmVxdWVzdCA9
IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKHJlc291cmNlUmVxdWVzdCk7CiAKICAgICBBUEk6OkRp
Y3Rpb25hcnk6Ok1hcFR5cGUgbWVzc2FnZTsKICAgICBtZXNzYWdlLnNldChTdHJpbmc6OmZyb21V
VEY4KCJQYWdlIiksIHRvSW1wbChwYWdlKSk7CiAgICAgbWVzc2FnZS5zZXQoU3RyaW5nOjpmcm9t
VVRGOCgiSWRlbnRpZmllciIpLCBBUEk6OlVJbnQ2NDo6Y3JlYXRlKGlkZW50aWZpZXIpKTsKLSAg
ICBtZXNzYWdlLnNldChTdHJpbmc6OmZyb21VVEY4KCJSZXF1ZXN0IiksIG5ld1JlcXVlc3QuZ2V0
KCkpOworICAgIG1lc3NhZ2Uuc2V0KFN0cmluZzo6ZnJvbVVURjgoIlJlcXVlc3QiKSwgbmV3UmVx
dWVzdC5wdHIoKSk7CiAgICAgaWYgKCFyZWRpcmVjdFJlc291cmNlUmVzcG9uc2UuaXNOdWxsKCkp
CiAgICAgICAgIG1lc3NhZ2Uuc2V0KFN0cmluZzo6ZnJvbVVURjgoIlJlZGlyZWN0UmVzcG9uc2Ui
KSwgdG9JbXBsKHdrUmVkaXJlY3RSZXNwb25zZSkpOwogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLmluamVjdGVkQnVuZGxlKCktPnBvc3RNZXNzYWdlKFN0cmluZzo6ZnJvbVVURjgoIldlYlBh
Z2UuRGlkU2VuZFJlcXVlc3RGb3JSZXNvdXJjZSIpLCBBUEk6OkRpY3Rpb25hcnk6OmNyZWF0ZShX
VEY6Om1vdmUobWVzc2FnZSkpLmdldCgpKTsKIAotICAgIHJldHVybiB0b0FQSShuZXdSZXF1ZXN0
LnJlbGVhc2UoKS5sZWFrUmVmKCkpOworICAgIHJldHVybiB0b0FQSSgmbmV3UmVxdWVzdC5sZWFr
UmVmKCkpOwogfQogCiBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VGb3JSZXNvdXJjZShX
S0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiwgdWludDY0X3QgaWRlbnRpZmll
ciwgV0tVUkxSZXNwb25zZVJlZiByZXNwb25zZSwgY29uc3Qgdm9pZCopCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFn
ZVBvbGljeUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlUGFnZVBvbGljeUNsaWVudC5jcHAKaW5kZXggMGUxMWZiZmUzODY1
OGFmZDFmNWM1NGY2ZmRlNmQ3ZjBlMDc1YTlmYS4uMmNiOTc3Y2Q4MmIzYWUzMDQwMTQ4MTE0Njgx
MzZlYjY5ZTM2YTM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VQb2xpY3lDbGllbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlUG9s
aWN5Q2xpZW50LmNwcApAQCAtNDIsMTAgKzQyLDEwIEBAIFdLQnVuZGxlUGFnZVBvbGljeUFjdGlv
biBJbmplY3RlZEJ1bmRsZVBhZ2VQb2xpY3lDbGllbnQ6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRp
CiAgICAgaWYgKCFtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKQogICAg
ICAgICByZXR1cm4gV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uUGFzc1Rocm91Z2g7CiAKLSAgICBS
ZWZQdHI8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUo
cmVzb3VyY2VSZXF1ZXN0KTsKKyAgICBSZWY8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJ
OjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKIAogICAgIFdLVHlwZVJlZiB1
c2VyRGF0YVRvUGFzcyA9IDA7Ci0gICAgV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uIHBvbGljeSA9
IG1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odG9BUEkocGFnZSksIHRv
QVBJKGZyYW1lKSwgdG9BUEkoYWN0aW9uKSwgdG9BUEkocmVxdWVzdC5nZXQoKSksICZ1c2VyRGF0
YVRvUGFzcywgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICBXS0J1bmRsZVBhZ2VQb2xp
Y3lBY3Rpb24gcG9saWN5ID0gbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlv
bih0b0FQSShwYWdlKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShhY3Rpb24pLCB0b0FQSShyZXF1ZXN0
LnB0cigpKSwgJnVzZXJEYXRhVG9QYXNzLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogICAg
IHVzZXJEYXRhID0gYWRvcHRSZWYodG9JbXBsKHVzZXJEYXRhVG9QYXNzKSk7CiAgICAgcmV0dXJu
IHBvbGljeTsKIH0KQEAgLTU1LDEwICs1NSwxMCBAQCBXS0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb24g
SW5qZWN0ZWRCdW5kbGVQYWdlUG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JOZXdXaW5kbwog
ICAgIGlmICghbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKQogICAgICAg
ICByZXR1cm4gV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uUGFzc1Rocm91Z2g7CiAKLSAgICBSZWZQ
dHI8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVz
b3VyY2VSZXF1ZXN0KTsKKyAgICBSZWY8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpV
UkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKIAogICAgIFdLVHlwZVJlZiB1c2Vy
RGF0YVRvUGFzcyA9IDA7Ci0gICAgV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uIHBvbGljeSA9IG1f
Y2xpZW50LmRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbih0b0FQSShwYWdlKSwgdG9BUEko
ZnJhbWUpLCB0b0FQSShhY3Rpb24pLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgdG9BUEkoZnJhbWVO
YW1lLmltcGwoKSksICZ1c2VyRGF0YVRvUGFzcywgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsK
KyAgICBXS0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb24gcG9saWN5ID0gbV9jbGllbnQuZGVjaWRlUG9s
aWN5Rm9yTmV3V2luZG93QWN0aW9uKHRvQVBJKHBhZ2UpLCB0b0FQSShmcmFtZSksIHRvQVBJKGFj
dGlvbiksIHRvQVBJKHJlcXVlc3QucHRyKCkpLCB0b0FQSShmcmFtZU5hbWUuaW1wbCgpKSwgJnVz
ZXJEYXRhVG9QYXNzLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogICAgIHVzZXJEYXRhID0g
YWRvcHRSZWYodG9JbXBsKHVzZXJEYXRhVG9QYXNzKSk7CiAgICAgcmV0dXJuIHBvbGljeTsKIH0K
QEAgLTY4LDExICs2OCwxMSBAQCBXS0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb24gSW5qZWN0ZWRCdW5k
bGVQYWdlUG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JSZXNwb25zZQogICAgIGlmICghbV9j
bGllbnQuZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UpCiAgICAgICAgIHJldHVybiBXS0J1bmRsZVBh
Z2VQb2xpY3lBY3Rpb25QYXNzVGhyb3VnaDsKIAotICAgIFJlZlB0cjxBUEk6OlVSTFJlc3BvbnNl
PiByZXNwb25zZSA9IEFQSTo6VVJMUmVzcG9uc2U6OmNyZWF0ZShyZXNvdXJjZVJlc3BvbnNlKTsK
LSAgICBSZWZQdHI8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0Ojpj
cmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKKyAgICBSZWY8QVBJOjpVUkxSZXNwb25zZT4gcmVzcG9u
c2UgPSBBUEk6OlVSTFJlc3BvbnNlOjpjcmVhdGUocmVzb3VyY2VSZXNwb25zZSk7CisgICAgUmVm
PEFQSTo6VVJMUmVxdWVzdD4gcmVxdWVzdCA9IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKHJlc291
cmNlUmVxdWVzdCk7CiAKICAgICBXS1R5cGVSZWYgdXNlckRhdGFUb1Bhc3MgPSAwOwotICAgIFdL
QnVuZGxlUGFnZVBvbGljeUFjdGlvbiBwb2xpY3kgPSBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JS
ZXNwb25zZSh0b0FQSShwYWdlKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShyZXNwb25zZS5nZXQoKSks
IHRvQVBJKHJlcXVlc3QuZ2V0KCkpLCAmdXNlckRhdGFUb1Bhc3MsIG1fY2xpZW50LmJhc2UuY2xp
ZW50SW5mbyk7CisgICAgV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uIHBvbGljeSA9IG1fY2xpZW50
LmRlY2lkZVBvbGljeUZvclJlc3BvbnNlKHRvQVBJKHBhZ2UpLCB0b0FQSShmcmFtZSksIHRvQVBJ
KHJlc3BvbnNlLnB0cigpKSwgdG9BUEkocmVxdWVzdC5wdHIoKSksICZ1c2VyRGF0YVRvUGFzcywg
bV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICB1c2VyRGF0YSA9IGFkb3B0UmVmKHRvSW1w
bCh1c2VyRGF0YVRvUGFzcykpOwogICAgIHJldHVybiBwb2xpY3k7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251695</attachid>
            <date>2015-04-26 07:12:19 -0700</date>
            <delta_ts>2015-04-27 10:33:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144224-20150426161111.patch</filename>
            <type>text/plain</type>
            <size>22678</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTUwODgyZTc0MTE2ZTM5
NzJhZDkzYjZjYTVjYTBjYTZiODI2MDEzNC4uZGMwNjhkZDZjMjA2NTNmODk4ODY2NDExNjRkODg3
NmVkOGJlMDRiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE1LTA0LTI2ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbV0syXSBBUEk6OlVS
TFJlcXVlc3QsIEFQSTo6VVJMUmVzcG9uc2UgY3JlYXRpb24gZnVuY3Rpb25zIHNob3VsZCByZXR1
cm4gUmVmPD4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0NDIyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEhhdmUgQVBJOjpVUkxSZXF1ZXN0IGFuZCBBUEk6OlVSTFJlc3BvbnNlIGNyZWF0aW9uIGZ1bmN0
aW9ucyByZXR1cm4gUmVmPD4uCisgICAgICAgIFRoZSBjYWxsLXNpdGVzIGFyZSBhbHNvIHVwZGF0
ZWQsIHVzaW5nIGFuZCBvcGVyYXRpbmcgb24gdGhlIHJldHVybmVkIFJlZjw+IG9iamVjdAorICAg
ICAgICB3aGVyZSBwb3NzaWJsZS4KKworICAgICAgICAqIFNoYXJlZC9BUEkvQVBJVVJMUmVxdWVz
dC5oOgorICAgICAgICAoQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUpOgorICAgICAgICAqIFNoYXJl
ZC9BUEkvQVBJVVJMUmVzcG9uc2UuaDoKKyAgICAgICAgKEFQSTo6VVJMUmVzcG9uc2U6OmNyZWF0
ZSk6CisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLVVJMUmVxdWVzdC5jcHA6CisgICAgICAgIChX
S1VSTFJlcXVlc3RDcmVhdGVXaXRoV0tVUkwpOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9tYWMv
V0tVUkxSZXF1ZXN0TlMubW06CisgICAgICAgIChXS1VSTFJlcXVlc3RDcmVhdGVXaXRoTlNVUkxS
ZXF1ZXN0KToKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvbWFjL1dLVVJMUmVzcG9uc2VOUy5tbToK
KyAgICAgICAgKFdLVVJMUmVzcG9uc2VDcmVhdGVXaXRoTlNVUkxSZXNwb25zZSk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHA6CisgICAgICAgIChXS0NvbnRleHRTZXRE
b3dubG9hZENsaWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLRG93bmxvYWQuY3Bw
OgorICAgICAgICAoV0tEb3dubG9hZENvcHlSZXF1ZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvV0tOYXZpZ2F0aW9uRGF0YVJlZi5jcHA6CisgICAgICAgIChXS05hdmlnYXRpb25EYXRh
Q29weU9yaWdpbmFsUmVxdWVzdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5j
cHA6CisgICAgICAgIChXS1BhZ2VTZXRQYWdlUG9saWN5Q2xpZW50KToKKyAgICAgICAgKFdLUGFn
ZVNldFBhZ2VVSUNsaWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25T
dGF0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6TmF2aWdhdGlvblN0YXRlOjpOYXZpZ2F0aW9uQ2xp
ZW50OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvc291cC9XZWJTb3VwQ3VzdG9tUHJvdG9jb2xSZXF1
ZXN0TWFuYWdlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNvdXBDdXN0b21Qcm90
b2NvbFJlcXVlc3RNYW5hZ2VyQ2xpZW50OjpzdGFydExvYWRpbmcpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJLaXRXZWJQYWdlLmNwcDoKKyAgICAgICAg
KHdpbGxTZW5kUmVxdWVzdEZvckZyYW1lKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZVBvbGljeUNsaWVudC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkluamVjdGVkQnVuZGxlUGFnZVBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdh
dGlvbkFjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlUGFnZVBvbGljeUNs
aWVudDo6ZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6
SW5qZWN0ZWRCdW5kbGVQYWdlUG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JSZXNwb25zZSk6
CisKIDIwMTUtMDQtMjUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgRnVydGhlciB1cGRhdGUgZ2VzdHVyZSBzd2lwZSBzaGFkb3cgc3R5bGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQVBJVVJMUmVxdWVzdC5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL0FQSS9BUElVUkxSZXF1ZXN0LmgKaW5kZXggZDVlNGQ0YTJlZjk4NmIy
ODU3NzA1YjMyMWFlZTgxYjI3NDkyMjg1ZS4uMDI2Y2NlMzliMjE2YzBlYTFhNWMwNzg1ZmY4MDQ2
NGM0MDZiZTViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9BUElVUkxS
ZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9BUElVUkxSZXF1ZXN0LmgK
QEAgLTM5LDkgKzM5LDkgQEAgbmFtZXNwYWNlIEFQSSB7CiAKIGNsYXNzIFVSTFJlcXVlc3QgOiBw
dWJsaWMgT2JqZWN0SW1wbDxPYmplY3Q6OlR5cGU6OlVSTFJlcXVlc3Q+IHsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxVUkxSZXF1ZXN0PiBjcmVhdGUoY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQorICAgIHN0YXRpYyBSZWY8VVJMUmVxdWVzdD4gY3JlYXRl
KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKICAgICB7Ci0gICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgVVJMUmVxdWVzdChyZXF1ZXN0KSk7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFVSTFJlcXVlc3QocmVxdWVzdCkpOwogICAgIH0KIAogICAgIGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0KCkgY29uc3QgeyByZXR1
cm4gbV9yZXF1ZXN0OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0FQ
SVVSTFJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0FQSVVSTFJlc3BvbnNl
LmgKaW5kZXggMjc5MGI5ZmJlM2Y5YzUxYmZkZmE0MjE1NDk2ZTM5OGRhZjlmNGZkYy4uZGI4MWIz
ZjljNzg5Y2Y3MzNiZDFjZTNjNTM3N2I2NjY2MDA4MjgyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9BUElVUkxSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvQVBJVVJMUmVzcG9uc2UuaApAQCAtMzksOSArMzksOSBAQCBuYW1lc3BhY2UgQVBJ
IHsKIAogY2xhc3MgVVJMUmVzcG9uc2UgOiBwdWJsaWMgT2JqZWN0SW1wbDxPYmplY3Q6OlR5cGU6
OlVSTFJlc3BvbnNlPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8VVJMUmVzcG9u
c2U+IGNyZWF0ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKKyAg
ICBzdGF0aWMgUmVmPFVSTFJlc3BvbnNlPiBjcmVhdGUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSYgcmVzcG9uc2UpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFVS
TFJlc3BvbnNlKHJlc3BvbnNlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFVSTFJl
c3BvbnNlKHJlc3BvbnNlKSk7CiAgICAgfQogCiAgICAgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSYgcmVzb3VyY2VSZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VSTFJlcXVlc3QuY3Bw
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMUmVxdWVzdC5jcHAKaW5kZXggZWRi
ZjIxOWRjMjQ4NDJjN2FmNDM1Nzg4NDE3OGMzZGQ0ZWUzMjZkNS4uMWEzMzdiMmE1Nzk2ZjliOTdm
Y2Y0M2Y3MTFiMWJjODU1NmY1MjZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSS9jL1dLVVJMUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9j
L1dLVVJMUmVxdWVzdC5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgV0tUeXBlSUQgV0tVUkxSZXF1ZXN0
R2V0VHlwZUlEKCkKIAogV0tVUkxSZXF1ZXN0UmVmIFdLVVJMUmVxdWVzdENyZWF0ZVdpdGhXS1VS
TChXS1VSTFJlZiB1cmwpCiB7Ci0gICAgcmV0dXJuIHRvQVBJKEFQSTo6VVJMUmVxdWVzdDo6Y3Jl
YXRlKFVSTChVUkwoKSwgdG9JbXBsKHVybCktPnN0cmluZygpKSkubGVha1JlZigpKTsKKyAgICBy
ZXR1cm4gdG9BUEkoJkFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKFVSTChVUkwoKSwgdG9JbXBsKHVy
bCktPnN0cmluZygpKSkubGVha1JlZigpKTsKIH0KIAogV0tVUkxSZWYgV0tVUkxSZXF1ZXN0Q29w
eVVSTChXS1VSTFJlcXVlc3RSZWYgcmVxdWVzdFJlZikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tVUkxSZXF1ZXN0TlMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvbWFjL1dLVVJMUmVxdWVzdE5TLm1tCmluZGV4IGY4MDQxNThmNTIxYTc3M2M4
OGVhYjk3OWFkYWJiZDcyZGQ0YWMyZjQuLmFhZGRkZDE5MzdkNGRmYzEyMTgwNDk2MTRkNmE2NTI2
OWNiZDE5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tV
UkxSZXF1ZXN0TlMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS1VS
TFJlcXVlc3ROUy5tbQpAQCAtMzUsOCArMzUsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0Owog
V0tVUkxSZXF1ZXN0UmVmIFdLVVJMUmVxdWVzdENyZWF0ZVdpdGhOU1VSTFJlcXVlc3QoTlNVUkxS
ZXF1ZXN0KiB1cmxSZXF1ZXN0KQogewogICAgIFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+IGNvcGll
ZFVSTFJlcXVlc3QgPSBhZG9wdE5TKFt1cmxSZXF1ZXN0IGNvcHldKTsKLSAgICBSZWZQdHI8QVBJ
OjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUoY29waWVkVVJM
UmVxdWVzdC5nZXQoKSk7Ci0gICAgcmV0dXJuIHRvQVBJKHJlcXVlc3QucmVsZWFzZSgpLmxlYWtS
ZWYoKSk7CisgICAgcmV0dXJuIHRvQVBJKCZBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShjb3BpZWRV
UkxSZXF1ZXN0LmdldCgpKS5sZWFrUmVmKCkpOwogfQogCiBOU1VSTFJlcXVlc3QqIFdLVVJMUmVx
dWVzdENvcHlOU1VSTFJlcXVlc3QoV0tVUkxSZXF1ZXN0UmVmIHVybFJlcXVlc3QpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLVVJMUmVzcG9uc2VOUy5tbSBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tVUkxSZXNwb25zZU5TLm1tCmluZGV4
IDg3MjExZTY0OTFlNWUyZGZhYTZmODFkMzg3MjEzOThjM2Y2NjViZWEuLjg5MjE4NTk0MGY3YWRm
MGNiYmNkYzFmOWJlZTlkMGNhZTBhYzQ0YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvYy9tYWMvV0tVUkxSZXNwb25zZU5TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvYy9tYWMvV0tVUkxSZXNwb25zZU5TLm1tCkBAIC0zNCw4ICszNCw3IEBAIHVzaW5n
IG5hbWVzcGFjZSBXZWJLaXQ7CiBXS1VSTFJlc3BvbnNlUmVmIFdLVVJMUmVzcG9uc2VDcmVhdGVX
aXRoTlNVUkxSZXNwb25zZShOU1VSTFJlc3BvbnNlKiB1cmxSZXNwb25zZSkKIHsKICAgICBSZXRh
aW5QdHI8TlNVUkxSZXNwb25zZT4gY29waWVkVVJMUmVzcG9uc2UgPSBhZG9wdE5TKFt1cmxSZXNw
b25zZSBjb3B5XSk7Ci0gICAgUmVmUHRyPEFQSTo6VVJMUmVzcG9uc2U+IHJlc3BvbnNlID0gQVBJ
OjpVUkxSZXNwb25zZTo6Y3JlYXRlKGNvcGllZFVSTFJlc3BvbnNlLmdldCgpKTsKLSAgICByZXR1
cm4gdG9BUEkocmVzcG9uc2UucmVsZWFzZSgpLmxlYWtSZWYoKSk7CisgICAgcmV0dXJuIHRvQVBJ
KCZBUEk6OlVSTFJlc3BvbnNlOjpjcmVhdGUoY29waWVkVVJMUmVzcG9uc2UuZ2V0KCkpLmxlYWtS
ZWYoKSk7CiB9CiAKIE5TVVJMUmVzcG9uc2UqIFdLVVJMUmVzcG9uc2VDb3B5TlNVUkxSZXNwb25z
ZShXS1VSTFJlc3BvbnNlUmVmIHVybFJlc3BvbnNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tDb250ZXh0LmNwcAppbmRleCA1ODFkOTk3MmFkZWI5Yjc3NmQxNzZhNjk2OWUy
MmY4NjMwNDdjZjc0Li41NjNlYzAxZjYwNWJkZWFhOTYwNzhlYjVkN2E4Y2Q3ZTVkZTUwZGEzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcApAQCAtMjAz
LDcgKzIwMyw3IEBAIHZvaWQgV0tDb250ZXh0U2V0RG93bmxvYWRDbGllbnQoV0tDb250ZXh0UmVm
IGNvbnRleHRSZWYsIGNvbnN0IFdLQ29udGV4dERvd25sb2FkCiAgICAgICAgICAgICBpZiAoIW1f
Y2xpZW50LmRpZFJlY2VpdmVSZXNwb25zZSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAg
ICAgICAgICAgIG1fY2xpZW50LmRpZFJlY2VpdmVSZXNwb25zZSh0b0FQSShwcm9jZXNzUG9vbCks
IHRvQVBJKGRvd25sb2FkUHJveHkpLCB0b0FQSShBUEk6OlVSTFJlc3BvbnNlOjpjcmVhdGUocmVz
cG9uc2UpLmdldCgpKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgICAgIG1f
Y2xpZW50LmRpZFJlY2VpdmVSZXNwb25zZSh0b0FQSShwcm9jZXNzUG9vbCksIHRvQVBJKGRvd25s
b2FkUHJveHkpLCB0b0FQSShBUEk6OlVSTFJlc3BvbnNlOjpjcmVhdGUocmVzcG9uc2UpLnB0cigp
KSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICAgICAgfQogCiAgICAgICAgIHZpcnR1
YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShXZWJQcm9jZXNzUG9vbCogcHJvY2Vzc1Bvb2wsIERvd25s
b2FkUHJveHkqIGRvd25sb2FkUHJveHksIHVpbnQ2NF90IGxlbmd0aCkgb3ZlcnJpZGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Rvd25sb2FkLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Rvd25sb2FkLmNwcAppbmRleCBiZWI4Mjli
M2ViY2UxOTIzYzM2ODQ1ZmVmZDU2NjAzZGI3NzFlMWEyLi43MDVjZmYwYjNiMDViZGE4NTE1Yjg2
YzMxNDIyZTQ1NzA1MWUwYTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tEb3dubG9hZC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLRG93bmxvYWQuY3BwCkBAIC00NSw3ICs0NSw3IEBAIHVpbnQ2NF90IFdLRG93bmxvYWRHZXRJ
RChXS0Rvd25sb2FkUmVmIGRvd25sb2FkKQogCiBXS1VSTFJlcXVlc3RSZWYgV0tEb3dubG9hZENv
cHlSZXF1ZXN0KFdLRG93bmxvYWRSZWYgZG93bmxvYWQpCiB7Ci0gICAgcmV0dXJuIHRvQVBJKEFQ
STo6VVJMUmVxdWVzdDo6Y3JlYXRlKHRvSW1wbChkb3dubG9hZCktPnJlcXVlc3QoKSkubGVha1Jl
ZigpKTsKKyAgICByZXR1cm4gdG9BUEkoJkFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKHRvSW1wbChk
b3dubG9hZCktPnJlcXVlc3QoKSkubGVha1JlZigpKTsKIH0KIAogV0tEYXRhUmVmIFdLRG93bmxv
YWRHZXRSZXN1bWVEYXRhKFdLRG93bmxvYWRSZWYgZG93bmxvYWQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXZpZ2F0aW9uRGF0YVJlZi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXZpZ2F0aW9uRGF0YVJlZi5jcHAKaW5kZXgg
ODY4NDBlMzNlMzQyY2NlY2I0YzQ0ZWU1MzI1ODg2MWRmMTY2Y2M5Ny4uMGE4MTViYjgyN2U2ZjEy
NGZmYTQ5ZmRmZjYxMDUxZTM5MDZmNjZiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLTmF2aWdhdGlvbkRhdGFSZWYuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS05hdmlnYXRpb25EYXRhUmVmLmNwcApAQCAtNTUsNSArNTUsNSBA
QCBXS1VSTFJlZiBXS05hdmlnYXRpb25EYXRhQ29weU5hdmlnYXRpb25EZXN0aW5hdGlvblVSTChX
S05hdmlnYXRpb25EYXRhUmVmIG5hdmlnYQogCiBXS1VSTFJlcXVlc3RSZWYgV0tOYXZpZ2F0aW9u
RGF0YUNvcHlPcmlnaW5hbFJlcXVlc3QoV0tOYXZpZ2F0aW9uRGF0YVJlZiBuYXZpZ2F0aW9uRGF0
YSkKIHsKLSAgICByZXR1cm4gdG9BUEkoQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUodG9JbXBsKG5h
dmlnYXRpb25EYXRhKS0+b3JpZ2luYWxSZXF1ZXN0KCkpLmxlYWtSZWYoKSk7CisgICAgcmV0dXJu
IHRvQVBJKCZBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZSh0b0ltcGwobmF2aWdhdGlvbkRhdGEpLT5v
cmlnaW5hbFJlcXVlc3QoKSkubGVha1JlZigpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggZWRlMWI4YTQxNzUxZjA2ZjIyYTA0N2FmMmMyZWU3Yzky
NTkzZWU5NC4uNDFhZGZmY2ZjN2EwOGMzZTM5MGU4ODhmNjAzMGQzMWNiODllNjQ4MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTEyNTcsMTUgKzEyNTcs
MTUgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlUG9saWN5Q2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBj
b25zdCBXS1BhZ2VQb2xpY3lDbGllbnRCYXNlKgogICAgICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgICAgIH0KIAotICAgICAgICAgICAgUmVmUHRyPEFQSTo6VVJMUmVxdWVzdD4gb3JpZ2lu
YWxSZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUob3JpZ2luYWxSZXNvdXJjZVJlcXVl
c3QpOwotICAgICAgICAgICAgUmVmUHRyPEFQSTo6VVJMUmVxdWVzdD4gcmVxdWVzdCA9IEFQSTo6
VVJMUmVxdWVzdDo6Y3JlYXRlKHJlc291cmNlUmVxdWVzdCk7CisgICAgICAgICAgICBSZWY8QVBJ
OjpVUkxSZXF1ZXN0PiBvcmlnaW5hbFJlcXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShv
cmlnaW5hbFJlc291cmNlUmVxdWVzdCk7CisgICAgICAgICAgICBSZWY8QVBJOjpVUkxSZXF1ZXN0
PiByZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKIAog
ICAgICAgICAgICAgaWYgKG1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25f
ZGVwcmVjYXRlZEZvclVzZVdpdGhWMCkKLSAgICAgICAgICAgICAgICBtX2NsaWVudC5kZWNpZGVQ
b2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAodG9BUEkoJnBh
Z2UpLCB0b0FQSShmcmFtZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm5hdmlnYXRpb25U
eXBlKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW9kaWZpZXJzKSwgdG9BUEkobmF2aWdh
dGlvbkFjdGlvbkRhdGEubW91c2VCdXR0b24pLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgdG9BUEko
bGlzdGVuZXIucHRyKCkpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5m
byk7CisgICAgICAgICAgICAgICAgbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFj
dGlvbl9kZXByZWNhdGVkRm9yVXNlV2l0aFYwKHRvQVBJKCZwYWdlKSwgdG9BUEkoZnJhbWUpLCB0
b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5uYXZpZ2F0aW9uVHlwZSksIHRvQVBJKG5hdmlnYXRp
b25BY3Rpb25EYXRhLm1vZGlmaWVycyksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vdXNl
QnV0dG9uKSwgdG9BUEkocmVxdWVzdC5wdHIoKSksIHRvQVBJKGxpc3RlbmVyLnB0cigpKSwgdG9B
UEkodXNlckRhdGEpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogICAgICAgICAgICAgZWxz
ZSBpZiAobV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbl9kZXByZWNhdGVk
Rm9yVXNlV2l0aFYxKQotICAgICAgICAgICAgICAgIG1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5h
dmlnYXRpb25BY3Rpb25fZGVwcmVjYXRlZEZvclVzZVdpdGhWMSh0b0FQSSgmcGFnZSksIHRvQVBJ
KGZyYW1lKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubmF2aWdhdGlvblR5cGUpLCB0b0FQ
SShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5tb2RpZmllcnMpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9u
RGF0YS5tb3VzZUJ1dHRvbiksIHRvQVBJKG9yaWdpbmF0aW5nRnJhbWUpLCB0b0FQSShyZXF1ZXN0
LmdldCgpKSwgdG9BUEkobGlzdGVuZXIucHRyKCkpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50
LmJhc2UuY2xpZW50SW5mbyk7CisgICAgICAgICAgICAgICAgbV9jbGllbnQuZGVjaWRlUG9saWN5
Rm9yTmF2aWdhdGlvbkFjdGlvbl9kZXByZWNhdGVkRm9yVXNlV2l0aFYxKHRvQVBJKCZwYWdlKSwg
dG9BUEkoZnJhbWUpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5uYXZpZ2F0aW9uVHlwZSks
IHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vZGlmaWVycyksIHRvQVBJKG5hdmlnYXRpb25B
Y3Rpb25EYXRhLm1vdXNlQnV0dG9uKSwgdG9BUEkob3JpZ2luYXRpbmdGcmFtZSksIHRvQVBJKHJl
cXVlc3QucHRyKCkpLCB0b0FQSShsaXN0ZW5lci5wdHIoKSksIHRvQVBJKHVzZXJEYXRhKSwgbV9j
bGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAg
ICBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKHRvQVBJKCZwYWdlKSwg
dG9BUEkoZnJhbWUpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5uYXZpZ2F0aW9uVHlwZSks
IHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vZGlmaWVycyksIHRvQVBJKG5hdmlnYXRpb25B
Y3Rpb25EYXRhLm1vdXNlQnV0dG9uKSwgdG9BUEkob3JpZ2luYXRpbmdGcmFtZSksIHRvQVBJKG9y
aWdpbmFsUmVxdWVzdC5nZXQoKSksIHRvQVBJKHJlcXVlc3QuZ2V0KCkpLCB0b0FQSShsaXN0ZW5l
ci5wdHIoKSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAg
ICAgICAgICAgICAgICBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKHRv
QVBJKCZwYWdlKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5uYXZp
Z2F0aW9uVHlwZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vZGlmaWVycyksIHRvQVBJ
KG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vdXNlQnV0dG9uKSwgdG9BUEkob3JpZ2luYXRpbmdGcmFt
ZSksIHRvQVBJKG9yaWdpbmFsUmVxdWVzdC5wdHIoKSksIHRvQVBJKHJlcXVlc3QucHRyKCkpLCB0
b0FQSShsaXN0ZW5lci5wdHIoKSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQuYmFzZS5jbGll
bnRJbmZvKTsKICAgICAgICAgfQogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZWNpZGVQb2xpY3lG
b3JOZXdXaW5kb3dBY3Rpb24oV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJGcmFtZVByb3h5JiBmcmFt
ZSwgY29uc3QgTmF2aWdhdGlvbkFjdGlvbkRhdGEmIG5hdmlnYXRpb25BY3Rpb25EYXRhLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCwgY29uc3QgU3RyaW5nJiBmcmFtZU5h
bWUsIFJlZjxXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk+JiYgbGlzdGVuZXIsIEFQSTo6T2Jq
ZWN0KiB1c2VyRGF0YSkgb3ZlcnJpZGUKQEAgLTEyNzUsOSArMTI3NSw5IEBAIHZvaWQgV0tQYWdl
U2V0UGFnZVBvbGljeUNsaWVudChXS1BhZ2VSZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdlUG9saWN5
Q2xpZW50QmFzZSoKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKLSAg
ICAgICAgICAgIFJlZlB0cjxBUEk6OlVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBBUEk6OlVSTFJlcXVl
c3Q6OmNyZWF0ZShyZXNvdXJjZVJlcXVlc3QpOworICAgICAgICAgICAgUmVmPEFQSTo6VVJMUmVx
dWVzdD4gcmVxdWVzdCA9IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKHJlc291cmNlUmVxdWVzdCk7
CiAKLSAgICAgICAgICAgIG1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbih0
b0FQSSgmcGFnZSksIHRvQVBJKCZmcmFtZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm5h
dmlnYXRpb25UeXBlKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW9kaWZpZXJzKSwgdG9B
UEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW91c2VCdXR0b24pLCB0b0FQSShyZXF1ZXN0LmdldCgp
KSwgdG9BUEkoZnJhbWVOYW1lLmltcGwoKSksIHRvQVBJKGxpc3RlbmVyLnB0cigpKSwgdG9BUEko
dXNlckRhdGEpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAgICAgICAgbV9jbGll
bnQuZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKHRvQVBJKCZwYWdlKSwgdG9BUEkoJmZy
YW1lKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubmF2aWdhdGlvblR5cGUpLCB0b0FQSShu
YXZpZ2F0aW9uQWN0aW9uRGF0YS5tb2RpZmllcnMpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0
YS5tb3VzZUJ1dHRvbiksIHRvQVBJKHJlcXVlc3QucHRyKCkpLCB0b0FQSShmcmFtZU5hbWUuaW1w
bCgpKSwgdG9BUEkobGlzdGVuZXIucHRyKCkpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50LmJh
c2UuY2xpZW50SW5mbyk7CiAgICAgICAgIH0KIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVjaWRl
UG9saWN5Rm9yUmVzcG9uc2UoV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJGcmFtZVByb3h5JiBmcmFt
ZSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25zZSwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QsIGJvb2wgY2FuU2hvd01JTUVUeXBlLCBSZWY8V2Vi
RnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5PiYmIGxpc3RlbmVyLCBBUEk6Ok9iamVjdCogdXNlckRh
dGEpIG92ZXJyaWRlCkBAIC0xMjg3LDEzICsxMjg3LDEzIEBAIHZvaWQgV0tQYWdlU2V0UGFnZVBv
bGljeUNsaWVudChXS1BhZ2VSZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdlUG9saWN5Q2xpZW50QmFz
ZSoKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAg
IFJlZlB0cjxBUEk6OlVSTFJlc3BvbnNlPiByZXNwb25zZSA9IEFQSTo6VVJMUmVzcG9uc2U6OmNy
ZWF0ZShyZXNvdXJjZVJlc3BvbnNlKTsKLSAgICAgICAgICAgIFJlZlB0cjxBUEk6OlVSTFJlcXVl
c3Q+IHJlcXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShyZXNvdXJjZVJlcXVlc3QpOwor
ICAgICAgICAgICAgUmVmPEFQSTo6VVJMUmVzcG9uc2U+IHJlc3BvbnNlID0gQVBJOjpVUkxSZXNw
b25zZTo6Y3JlYXRlKHJlc291cmNlUmVzcG9uc2UpOworICAgICAgICAgICAgUmVmPEFQSTo6VVJM
UmVxdWVzdD4gcmVxdWVzdCA9IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKHJlc291cmNlUmVxdWVz
dCk7CiAKICAgICAgICAgICAgIGlmIChtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JSZXNwb25zZV9k
ZXByZWNhdGVkRm9yVXNlV2l0aFYwKQotICAgICAgICAgICAgICAgIG1fY2xpZW50LmRlY2lkZVBv
bGljeUZvclJlc3BvbnNlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAodG9BUEkoJnBhZ2UpLCB0b0FQ
SSgmZnJhbWUpLCB0b0FQSShyZXNwb25zZS5nZXQoKSksIHRvQVBJKHJlcXVlc3QuZ2V0KCkpLCB0
b0FQSShsaXN0ZW5lci5wdHIoKSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQuYmFzZS5jbGll
bnRJbmZvKTsKKyAgICAgICAgICAgICAgICBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JSZXNwb25z
ZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwKHRvQVBJKCZwYWdlKSwgdG9BUEkoJmZyYW1lKSwgdG9B
UEkocmVzcG9uc2UucHRyKCkpLCB0b0FQSShyZXF1ZXN0LnB0cigpKSwgdG9BUEkobGlzdGVuZXIu
cHRyKCkpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAg
ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yUmVz
cG9uc2UodG9BUEkoJnBhZ2UpLCB0b0FQSSgmZnJhbWUpLCB0b0FQSShyZXNwb25zZS5nZXQoKSks
IHRvQVBJKHJlcXVlc3QuZ2V0KCkpLCBjYW5TaG93TUlNRVR5cGUsIHRvQVBJKGxpc3RlbmVyLnB0
cigpKSwgdG9BUEkodXNlckRhdGEpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAg
ICAgICAgICAgIG1fY2xpZW50LmRlY2lkZVBvbGljeUZvclJlc3BvbnNlKHRvQVBJKCZwYWdlKSwg
dG9BUEkoJmZyYW1lKSwgdG9BUEkocmVzcG9uc2UucHRyKCkpLCB0b0FQSShyZXF1ZXN0LnB0cigp
KSwgY2FuU2hvd01JTUVUeXBlLCB0b0FQSShsaXN0ZW5lci5wdHIoKSksIHRvQVBJKHVzZXJEYXRh
KSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICAgICAgfQogCiAgICAgICAgIHZpcnR1
YWwgdm9pZCB1bmFibGVUb0ltcGxlbWVudFBvbGljeShXZWJQYWdlUHJveHkmIHBhZ2UsIFdlYkZy
YW1lUHJveHkmIGZyYW1lLCBjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvciwgQVBJOjpPYmplY3Qq
IHVzZXJEYXRhKSBvdmVycmlkZQpAQCAtMTM0OCw4ICsxMzQ4LDggQEAgdm9pZCBXS1BhZ2VTZXRQ
YWdlVUlDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZVVJQ2xpZW50QmFzZSog
d2tDbGllbnQKICAgICAgICAgICAgIGlmICghbV9jbGllbnQuYmFzZS52ZXJzaW9uKQogICAgICAg
ICAgICAgICAgIHJldHVybiBhZG9wdFJlZih0b0ltcGwobV9jbGllbnQuY3JlYXRlTmV3UGFnZV9k
ZXByZWNhdGVkRm9yVXNlV2l0aFYwKHRvQVBJKHBhZ2UpLCB0b0FQSShmZWF0dXJlc01hcC5nZXQo
KSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vZGlmaWVycyksIHRvQVBJKG5hdmlnYXRp
b25BY3Rpb25EYXRhLm1vdXNlQnV0dG9uKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKSkpOwog
Ci0gICAgICAgICAgICBSZWZQdHI8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpVUkxS
ZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKLSAgICAgICAgICAgIHJldHVybiBhZG9w
dFJlZih0b0ltcGwobV9jbGllbnQuY3JlYXRlTmV3UGFnZSh0b0FQSShwYWdlKSwgdG9BUEkocmVx
dWVzdC5nZXQoKSksIHRvQVBJKGZlYXR1cmVzTWFwLmdldCgpKSwgdG9BUEkobmF2aWdhdGlvbkFj
dGlvbkRhdGEubW9kaWZpZXJzKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW91c2VCdXR0
b24pLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pKSk7CisgICAgICAgICAgICBSZWY8QVBJOjpV
UkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1
ZXN0KTsKKyAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZih0b0ltcGwobV9jbGllbnQuY3JlYXRl
TmV3UGFnZSh0b0FQSShwYWdlKSwgdG9BUEkocmVxdWVzdC5wdHIoKSksIHRvQVBJKGZlYXR1cmVz
TWFwLmdldCgpKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW9kaWZpZXJzKSwgdG9BUEko
bmF2aWdhdGlvbkFjdGlvbkRhdGEubW91c2VCdXR0b24pLCBtX2NsaWVudC5iYXNlLmNsaWVudElu
Zm8pKSk7CiAgICAgICAgIH0KIAogICAgICAgICB2aXJ0dWFsIHZvaWQgc2hvd1BhZ2UoV2ViUGFn
ZVByb3h5KiBwYWdlKSBvdmVycmlkZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KaW5kZXggMGIwYmQ3NWRlNjA5ZTliZWIxMWUyM2MxYTkx
MWRkYzhhNDc2MGVkOS4uODYyNjI1MWRkOTM5YmE1MjEzN2ZkOTcxNjVlM2EwZTBhOGY3MzlkZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0
ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRl
Lm1tCkBAIC0yNjUsNyArMjY1LDcgQEAgdm9pZCBOYXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25D
bGllbnQ6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oV2ViUGFnZVAKICAgICAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIFJldGFpblB0cjxO
U1VSTFJlcXVlc3Q+IG5zVVJMUmVxdWVzdCA9IGFkb3B0TlMod3JhcHBlcigqQVBJOjpVUkxSZXF1
ZXN0OjpjcmVhdGUobG9jYWxOYXZpZ2F0aW9uQWN0aW9uLT5yZXF1ZXN0KCkpLmxlYWtSZWYoKSkp
OworICAgICAgICAgICAgUmV0YWluUHRyPE5TVVJMUmVxdWVzdD4gbnNVUkxSZXF1ZXN0ID0gYWRv
cHROUyh3cmFwcGVyKEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKGxvY2FsTmF2aWdhdGlvbkFjdGlv
bi0+cmVxdWVzdCgpKS5sZWFrUmVmKCkpKTsKICAgICAgICAgICAgIGlmIChbTlNVUkxDb25uZWN0
aW9uIGNhbkhhbmRsZVJlcXVlc3Q6bnNVUkxSZXF1ZXN0LmdldCgpXSkgewogICAgICAgICAgICAg
ICAgIGxvY2FsTGlzdGVuZXItPnVzZSgpOwogICAgICAgICAgICAgICAgIHJldHVybjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9z
b3VwL1dlYlNvdXBDdXN0b21Qcm90b2NvbFJlcXVlc3RNYW5hZ2VyQ2xpZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9zb3VwL1dlYlNvdXBD
dXN0b21Qcm90b2NvbFJlcXVlc3RNYW5hZ2VyQ2xpZW50LmNwcAppbmRleCA1MDkxYTI2MmYxYzQ5
NGZkMWM3MmNlOWU1NGE2MDM5OTk1NTg4ZDFmLi5jNGRlZjYyODcyMmQ5MTBhYzRhZmYyNWNlYjcz
NTYyZDczYmQ3YTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29y
ay9DdXN0b21Qcm90b2NvbHMvc291cC9XZWJTb3VwQ3VzdG9tUHJvdG9jb2xSZXF1ZXN0TWFuYWdl
ckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9t
UHJvdG9jb2xzL3NvdXAvV2ViU291cEN1c3RvbVByb3RvY29sUmVxdWVzdE1hbmFnZXJDbGllbnQu
Y3BwCkBAIC0yOSw4ICsyOSw4IEBAIGJvb2wgV2ViU291cEN1c3RvbVByb3RvY29sUmVxdWVzdE1h
bmFnZXJDbGllbnQ6OnN0YXJ0TG9hZGluZyhXZWJTb3VwQ3VzdG9tUHJvdG9jCiAgICAgaWYgKCFt
X2NsaWVudC5zdGFydExvYWRpbmcpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIFJlZlB0
cjxBUEk6OlVSTFJlcXVlc3Q+IHVybFJlcXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShy
ZXF1ZXN0KTsKLSAgICBtX2NsaWVudC5zdGFydExvYWRpbmcodG9BUEkoc291cFJlcXVlc3RNYW5h
Z2VyKSwgY3VzdG9tUHJvdG9jb2xJRCwgdG9BUEkodXJsUmVxdWVzdC5nZXQoKSksIG1fY2xpZW50
LmJhc2UuY2xpZW50SW5mbyk7CisgICAgUmVmPEFQSTo6VVJMUmVxdWVzdD4gdXJsUmVxdWVzdCA9
IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKHJlcXVlc3QpOworICAgIG1fY2xpZW50LnN0YXJ0TG9h
ZGluZyh0b0FQSShzb3VwUmVxdWVzdE1hbmFnZXIpLCBjdXN0b21Qcm90b2NvbElELCB0b0FQSSh1
cmxSZXF1ZXN0LnB0cigpKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvZ3RrL1dlYktpdFdlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ3RrL1dlYktpdFdlYlBhZ2UuY3BwCmluZGV4IDdiMTc0
MmMwNWIyOWNhM2FlN2Y5OGFmYWJiNzc2NTNmOTgzZTM1ZTguLjUzNWQ4ZjYzM2U5YmJmMWQ1ZDRi
ZWU2YmQ0ZmI5MjA0ODc4MTIyNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJLaXRXZWJQYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0V2ViUGFnZS5j
cHAKQEAgLTIwMywxNyArMjAzLDE3IEBAIHN0YXRpYyBXS1VSTFJlcXVlc3RSZWYgd2lsbFNlbmRS
ZXF1ZXN0Rm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhCiAgICAgUmVz
b3VyY2VSZXF1ZXN0IHJlc291cmNlUmVxdWVzdDsKICAgICB3ZWJraXRVUklSZXF1ZXN0R2V0UmVz
b3VyY2VSZXF1ZXN0KHJlcXVlc3QuZ2V0KCksIHJlc291cmNlUmVxdWVzdCk7CiAgICAgcmVzb3Vy
Y2VSZXF1ZXN0LnNldEluaXRpYXRpbmdQYWdlSUQodG9JbXBsKHBhZ2UpLT5wYWdlSUQoKSk7Ci0g
ICAgUmVmUHRyPEFQSTo6VVJMUmVxdWVzdD4gbmV3UmVxdWVzdCA9IEFQSTo6VVJMUmVxdWVzdDo6
Y3JlYXRlKHJlc291cmNlUmVxdWVzdCk7CisgICAgUmVmPEFQSTo6VVJMUmVxdWVzdD4gbmV3UmVx
dWVzdCA9IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKHJlc291cmNlUmVxdWVzdCk7CiAKICAgICBB
UEk6OkRpY3Rpb25hcnk6Ok1hcFR5cGUgbWVzc2FnZTsKICAgICBtZXNzYWdlLnNldChTdHJpbmc6
OmZyb21VVEY4KCJQYWdlIiksIHRvSW1wbChwYWdlKSk7CiAgICAgbWVzc2FnZS5zZXQoU3RyaW5n
Ojpmcm9tVVRGOCgiSWRlbnRpZmllciIpLCBBUEk6OlVJbnQ2NDo6Y3JlYXRlKGlkZW50aWZpZXIp
KTsKLSAgICBtZXNzYWdlLnNldChTdHJpbmc6OmZyb21VVEY4KCJSZXF1ZXN0IiksIG5ld1JlcXVl
c3QuZ2V0KCkpOworICAgIG1lc3NhZ2Uuc2V0KFN0cmluZzo6ZnJvbVVURjgoIlJlcXVlc3QiKSwg
bmV3UmVxdWVzdC5wdHIoKSk7CiAgICAgaWYgKCFyZWRpcmVjdFJlc291cmNlUmVzcG9uc2UuaXNO
dWxsKCkpCiAgICAgICAgIG1lc3NhZ2Uuc2V0KFN0cmluZzo6ZnJvbVVURjgoIlJlZGlyZWN0UmVz
cG9uc2UiKSwgdG9JbXBsKHdrUmVkaXJlY3RSZXNwb25zZSkpOwogICAgIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLmluamVjdGVkQnVuZGxlKCktPnBvc3RNZXNzYWdlKFN0cmluZzo6ZnJvbVVURjgo
IldlYlBhZ2UuRGlkU2VuZFJlcXVlc3RGb3JSZXNvdXJjZSIpLCBBUEk6OkRpY3Rpb25hcnk6OmNy
ZWF0ZShXVEY6Om1vdmUobWVzc2FnZSkpLmdldCgpKTsKIAotICAgIHJldHVybiB0b0FQSShuZXdS
ZXF1ZXN0LnJlbGVhc2UoKS5sZWFrUmVmKCkpOworICAgIHJldHVybiB0b0FQSSgmbmV3UmVxdWVz
dC5sZWFrUmVmKCkpOwogfQogCiBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VGb3JSZXNv
dXJjZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiwgdWludDY0X3QgaWRl
bnRpZmllciwgV0tVUkxSZXNwb25zZVJlZiByZXNwb25zZSwgY29uc3Qgdm9pZCopCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlUGFnZVBvbGljeUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZVBvbGljeUNsaWVudC5jcHAKaW5kZXggMGUxMWZi
ZmUzODY1OGFmZDFmNWM1NGY2ZmRlNmQ3ZjBlMDc1YTlmYS4uMmNiOTc3Y2Q4MmIzYWUzMDQwMTQ4
MTE0NjgxMzZlYjY5ZTM2YTM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VQb2xpY3lDbGllbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQ
YWdlUG9saWN5Q2xpZW50LmNwcApAQCAtNDIsMTAgKzQyLDEwIEBAIFdLQnVuZGxlUGFnZVBvbGlj
eUFjdGlvbiBJbmplY3RlZEJ1bmRsZVBhZ2VQb2xpY3lDbGllbnQ6OmRlY2lkZVBvbGljeUZvck5h
dmlnYXRpCiAgICAgaWYgKCFtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9u
KQogICAgICAgICByZXR1cm4gV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uUGFzc1Rocm91Z2g7CiAK
LSAgICBSZWZQdHI8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0Ojpj
cmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKKyAgICBSZWY8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0
ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKIAogICAgIFdLVHlw
ZVJlZiB1c2VyRGF0YVRvUGFzcyA9IDA7Ci0gICAgV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uIHBv
bGljeSA9IG1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odG9BUEkocGFn
ZSksIHRvQVBJKGZyYW1lKSwgdG9BUEkoYWN0aW9uKSwgdG9BUEkocmVxdWVzdC5nZXQoKSksICZ1
c2VyRGF0YVRvUGFzcywgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICBXS0J1bmRsZVBh
Z2VQb2xpY3lBY3Rpb24gcG9saWN5ID0gbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlv
bkFjdGlvbih0b0FQSShwYWdlKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShhY3Rpb24pLCB0b0FQSShy
ZXF1ZXN0LnB0cigpKSwgJnVzZXJEYXRhVG9QYXNzLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8p
OwogICAgIHVzZXJEYXRhID0gYWRvcHRSZWYodG9JbXBsKHVzZXJEYXRhVG9QYXNzKSk7CiAgICAg
cmV0dXJuIHBvbGljeTsKIH0KQEAgLTU1LDEwICs1NSwxMCBAQCBXS0J1bmRsZVBhZ2VQb2xpY3lB
Y3Rpb24gSW5qZWN0ZWRCdW5kbGVQYWdlUG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JOZXdX
aW5kbwogICAgIGlmICghbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKQog
ICAgICAgICByZXR1cm4gV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uUGFzc1Rocm91Z2g7CiAKLSAg
ICBSZWZQdHI8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVh
dGUocmVzb3VyY2VSZXF1ZXN0KTsKKyAgICBSZWY8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0g
QVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKIAogICAgIFdLVHlwZVJl
ZiB1c2VyRGF0YVRvUGFzcyA9IDA7Ci0gICAgV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uIHBvbGlj
eSA9IG1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbih0b0FQSShwYWdlKSwg
dG9BUEkoZnJhbWUpLCB0b0FQSShhY3Rpb24pLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgdG9BUEko
ZnJhbWVOYW1lLmltcGwoKSksICZ1c2VyRGF0YVRvUGFzcywgbV9jbGllbnQuYmFzZS5jbGllbnRJ
bmZvKTsKKyAgICBXS0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb24gcG9saWN5ID0gbV9jbGllbnQuZGVj
aWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKHRvQVBJKHBhZ2UpLCB0b0FQSShmcmFtZSksIHRv
QVBJKGFjdGlvbiksIHRvQVBJKHJlcXVlc3QucHRyKCkpLCB0b0FQSShmcmFtZU5hbWUuaW1wbCgp
KSwgJnVzZXJEYXRhVG9QYXNzLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogICAgIHVzZXJE
YXRhID0gYWRvcHRSZWYodG9JbXBsKHVzZXJEYXRhVG9QYXNzKSk7CiAgICAgcmV0dXJuIHBvbGlj
eTsKIH0KQEAgLTY4LDExICs2OCwxMSBAQCBXS0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb24gSW5qZWN0
ZWRCdW5kbGVQYWdlUG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JSZXNwb25zZQogICAgIGlm
ICghbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UpCiAgICAgICAgIHJldHVybiBXS0J1
bmRsZVBhZ2VQb2xpY3lBY3Rpb25QYXNzVGhyb3VnaDsKIAotICAgIFJlZlB0cjxBUEk6OlVSTFJl
c3BvbnNlPiByZXNwb25zZSA9IEFQSTo6VVJMUmVzcG9uc2U6OmNyZWF0ZShyZXNvdXJjZVJlc3Bv
bnNlKTsKLSAgICBSZWZQdHI8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpVUkxSZXF1
ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKKyAgICBSZWY8QVBJOjpVUkxSZXNwb25zZT4g
cmVzcG9uc2UgPSBBUEk6OlVSTFJlc3BvbnNlOjpjcmVhdGUocmVzb3VyY2VSZXNwb25zZSk7Cisg
ICAgUmVmPEFQSTo6VVJMUmVxdWVzdD4gcmVxdWVzdCA9IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRl
KHJlc291cmNlUmVxdWVzdCk7CiAKICAgICBXS1R5cGVSZWYgdXNlckRhdGFUb1Bhc3MgPSAwOwot
ICAgIFdLQnVuZGxlUGFnZVBvbGljeUFjdGlvbiBwb2xpY3kgPSBtX2NsaWVudC5kZWNpZGVQb2xp
Y3lGb3JSZXNwb25zZSh0b0FQSShwYWdlKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShyZXNwb25zZS5n
ZXQoKSksIHRvQVBJKHJlcXVlc3QuZ2V0KCkpLCAmdXNlckRhdGFUb1Bhc3MsIG1fY2xpZW50LmJh
c2UuY2xpZW50SW5mbyk7CisgICAgV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uIHBvbGljeSA9IG1f
Y2xpZW50LmRlY2lkZVBvbGljeUZvclJlc3BvbnNlKHRvQVBJKHBhZ2UpLCB0b0FQSShmcmFtZSks
IHRvQVBJKHJlc3BvbnNlLnB0cigpKSwgdG9BUEkocmVxdWVzdC5wdHIoKSksICZ1c2VyRGF0YVRv
UGFzcywgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICB1c2VyRGF0YSA9IGFkb3B0UmVm
KHRvSW1wbCh1c2VyRGF0YVRvUGFzcykpOwogICAgIHJldHVybiBwb2xpY3k7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251755</attachid>
            <date>2015-04-27 10:33:49 -0700</date>
            <delta_ts>2015-04-27 23:56:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144224-20150427193240.patch</filename>
            <type>text/plain</type>
            <size>22722</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMzk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTI5MTJiMDUyYzE5MzVj
ZWE1MTU5MmM2NmY0YjU5NjA4YjExMmY1ZS4uODA1YjJiZmE1NWUwNjVmMjZkZjlmMjI4YzgxMWE2
YzRkZDVlMDRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE1LTA0LTI3ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbV0syXSBBUEk6OlVS
TFJlcXVlc3QsIEFQSTo6VVJMUmVzcG9uc2UgY3JlYXRpb24gZnVuY3Rpb25zIHNob3VsZCByZXR1
cm4gUmVmPD4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0NDIyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEhhdmUgQVBJOjpVUkxSZXF1ZXN0IGFuZCBBUEk6OlVSTFJlc3BvbnNlIGNyZWF0aW9uIGZ1bmN0
aW9ucyByZXR1cm4gUmVmPD4uCisgICAgICAgIFRoZSBjYWxsLXNpdGVzIGFyZSBhbHNvIHVwZGF0
ZWQsIHVzaW5nIGFuZCBvcGVyYXRpbmcgb24gdGhlIHJldHVybmVkIFJlZjw+IG9iamVjdAorICAg
ICAgICB3aGVyZSBwb3NzaWJsZS4KKworICAgICAgICAqIFNoYXJlZC9BUEkvQVBJVVJMUmVxdWVz
dC5oOgorICAgICAgICAoQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUpOgorICAgICAgICAqIFNoYXJl
ZC9BUEkvQVBJVVJMUmVzcG9uc2UuaDoKKyAgICAgICAgKEFQSTo6VVJMUmVzcG9uc2U6OmNyZWF0
ZSk6CisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLVVJMUmVxdWVzdC5jcHA6CisgICAgICAgIChX
S1VSTFJlcXVlc3RDcmVhdGVXaXRoV0tVUkwpOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9tYWMv
V0tVUkxSZXF1ZXN0TlMubW06CisgICAgICAgIChXS1VSTFJlcXVlc3RDcmVhdGVXaXRoTlNVUkxS
ZXF1ZXN0KToKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvbWFjL1dLVVJMUmVzcG9uc2VOUy5tbToK
KyAgICAgICAgKFdLVVJMUmVzcG9uc2VDcmVhdGVXaXRoTlNVUkxSZXNwb25zZSk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHA6CisgICAgICAgIChXS0NvbnRleHRTZXRE
b3dubG9hZENsaWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLRG93bmxvYWQuY3Bw
OgorICAgICAgICAoV0tEb3dubG9hZENvcHlSZXF1ZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvV0tOYXZpZ2F0aW9uRGF0YVJlZi5jcHA6CisgICAgICAgIChXS05hdmlnYXRpb25EYXRh
Q29weU9yaWdpbmFsUmVxdWVzdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5j
cHA6CisgICAgICAgIChXS1BhZ2VTZXRQYWdlUG9saWN5Q2xpZW50KToKKyAgICAgICAgKFdLUGFn
ZVNldFBhZ2VVSUNsaWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25T
dGF0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6TmF2aWdhdGlvblN0YXRlOjpOYXZpZ2F0aW9uQ2xp
ZW50OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvc291cC9XZWJTb3VwQ3VzdG9tUHJvdG9jb2xSZXF1
ZXN0TWFuYWdlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNvdXBDdXN0b21Qcm90
b2NvbFJlcXVlc3RNYW5hZ2VyQ2xpZW50OjpzdGFydExvYWRpbmcpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJLaXRXZWJQYWdlLmNwcDoKKyAgICAgICAg
KHdpbGxTZW5kUmVxdWVzdEZvckZyYW1lKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZVBvbGljeUNsaWVudC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkluamVjdGVkQnVuZGxlUGFnZVBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdh
dGlvbkFjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlUGFnZVBvbGljeUNs
aWVudDo6ZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6
SW5qZWN0ZWRCdW5kbGVQYWdlUG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JSZXNwb25zZSk6
CisKIDIwMTUtMDQtMjcgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBbRUZMXSBUZXN0V2ViS2l0QVBJJ3MgZm9yd2FyZGluZyBoZWFkZXIgZ2VuZXJhdG9y
IHNob3VsZCBkZXBlbmQgb24gV2ViS2l0MidzIGdlbmVyYXRvcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0FQSS9BUElVUkxSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQVBJL0FQSVVSTFJlcXVlc3QuaAppbmRleCBkNWU0ZDRhMmVmOTg2YjI4NTc3MDViMzIxYWVl
ODFiMjc0OTIyODVlLi4wMjZjY2UzOWIyMTZjMGVhMWE1YzA3ODVmZjgwNDY0YzQwNmJlNWJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0FQSVVSTFJlcXVlc3QuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0FQSVVSTFJlcXVlc3QuaApAQCAtMzksOSArMzks
OSBAQCBuYW1lc3BhY2UgQVBJIHsKIAogY2xhc3MgVVJMUmVxdWVzdCA6IHB1YmxpYyBPYmplY3RJ
bXBsPE9iamVjdDo6VHlwZTo6VVJMUmVxdWVzdD4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFVSTFJlcXVlc3Q+IGNyZWF0ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QpCisgICAgc3RhdGljIFJlZjxVUkxSZXF1ZXN0PiBjcmVhdGUoY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBVUkxSZXF1ZXN0KHJlcXVlc3QpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgVVJMUmVxdWVzdChyZXF1ZXN0KSk7CiAgICAgfQogCiAgICAgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBtX3JlcXVlc3Q7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQVBJVVJMUmVzcG9uc2Uu
aCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQVBJVVJMUmVzcG9uc2UuaAppbmRleCAyNzkw
YjlmYmUzZjljNTFiZmRmYTQyMTU0OTZlMzk4ZGFmOWY0ZmRjLi5kYjgxYjNmOWM3ODljZjczM2Jk
MWNlM2M1Mzc3YjY2NjYwMDgyODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJL0FQSVVSTFJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9BUElV
UkxSZXNwb25zZS5oCkBAIC0zOSw5ICszOSw5IEBAIG5hbWVzcGFjZSBBUEkgewogCiBjbGFzcyBV
UkxSZXNwb25zZSA6IHB1YmxpYyBPYmplY3RJbXBsPE9iamVjdDo6VHlwZTo6VVJMUmVzcG9uc2U+
IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxVUkxSZXNwb25zZT4gY3JlYXRlKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQorICAgIHN0YXRpYyBSZWY8
VVJMUmVzcG9uc2U+IGNyZWF0ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNw
b25zZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVVJMUmVzcG9uc2UocmVz
cG9uc2UpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVVJMUmVzcG9uc2UocmVzcG9u
c2UpKTsKICAgICB9CiAKICAgICBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNv
dXJjZVJlc3BvbnNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxSZXF1ZXN0LmNwcAppbmRleCBlZGJmMjE5ZGMyNDg0MmM3
YWY0MzU3ODg0MTc4YzNkZDRlZTMyNmQ1Li4xYTMzN2IyYTU3OTZmOWI5N2ZjZjQzZjcxMWIxYmM4
NTU2ZjUyNmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxS
ZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxSZXF1ZXN0
LmNwcApAQCAtNDAsNyArNDAsNyBAQCBXS1R5cGVJRCBXS1VSTFJlcXVlc3RHZXRUeXBlSUQoKQog
CiBXS1VSTFJlcXVlc3RSZWYgV0tVUkxSZXF1ZXN0Q3JlYXRlV2l0aFdLVVJMKFdLVVJMUmVmIHVy
bCkKIHsKLSAgICByZXR1cm4gdG9BUEkoQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUoVVJMKFVSTCgp
LCB0b0ltcGwodXJsKS0+c3RyaW5nKCkpKS5sZWFrUmVmKCkpOworICAgIHJldHVybiB0b0FQSSgm
QVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUoVVJMKFVSTCgpLCB0b0ltcGwodXJsKS0+c3RyaW5nKCkp
KS5sZWFrUmVmKCkpOwogfQogCiBXS1VSTFJlZiBXS1VSTFJlcXVlc3RDb3B5VVJMKFdLVVJMUmVx
dWVzdFJlZiByZXF1ZXN0UmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SS9jL21hYy9XS1VSTFJlcXVlc3ROUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9t
YWMvV0tVUkxSZXF1ZXN0TlMubW0KaW5kZXggZjgwNDE1OGY1MjFhNzczYzg4ZWFiOTc5YWRhYmJk
NzJkZDRhYzJmNC4uYWFkZGRkMTkzN2Q0ZGZjMTIxODA0OTYxNGQ2YTY1MjY5Y2JkMTkyMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS1VSTFJlcXVlc3ROUy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLVVJMUmVxdWVzdE5TLm1t
CkBAIC0zNSw4ICszNSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiBXS1VSTFJlcXVlc3RS
ZWYgV0tVUkxSZXF1ZXN0Q3JlYXRlV2l0aE5TVVJMUmVxdWVzdChOU1VSTFJlcXVlc3QqIHVybFJl
cXVlc3QpCiB7CiAgICAgUmV0YWluUHRyPE5TVVJMUmVxdWVzdD4gY29waWVkVVJMUmVxdWVzdCA9
IGFkb3B0TlMoW3VybFJlcXVlc3QgY29weV0pOwotICAgIFJlZlB0cjxBUEk6OlVSTFJlcXVlc3Q+
IHJlcXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShjb3BpZWRVUkxSZXF1ZXN0LmdldCgp
KTsKLSAgICByZXR1cm4gdG9BUEkocmVxdWVzdC5yZWxlYXNlKCkubGVha1JlZigpKTsKKyAgICBy
ZXR1cm4gdG9BUEkoJkFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKGNvcGllZFVSTFJlcXVlc3QuZ2V0
KCkpLmxlYWtSZWYoKSk7CiB9CiAKIE5TVVJMUmVxdWVzdCogV0tVUkxSZXF1ZXN0Q29weU5TVVJM
UmVxdWVzdChXS1VSTFJlcXVlc3RSZWYgdXJsUmVxdWVzdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tVUkxSZXNwb25zZU5TLm1tIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0FQSS9jL21hYy9XS1VSTFJlc3BvbnNlTlMubW0KaW5kZXggODcyMTFlNjQ5MWU1
ZTJkZmFhNmY4MWQzODcyMTM5OGMzZjY2NWJlYS4uODkyMTg1OTQwZjdhZGYwY2JiY2RjMWY5YmVl
OWQwY2FlMGFjNDRhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21h
Yy9XS1VSTFJlc3BvbnNlTlMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21h
Yy9XS1VSTFJlc3BvbnNlTlMubW0KQEAgLTM0LDggKzM0LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdl
YktpdDsKIFdLVVJMUmVzcG9uc2VSZWYgV0tVUkxSZXNwb25zZUNyZWF0ZVdpdGhOU1VSTFJlc3Bv
bnNlKE5TVVJMUmVzcG9uc2UqIHVybFJlc3BvbnNlKQogewogICAgIFJldGFpblB0cjxOU1VSTFJl
c3BvbnNlPiBjb3BpZWRVUkxSZXNwb25zZSA9IGFkb3B0TlMoW3VybFJlc3BvbnNlIGNvcHldKTsK
LSAgICBSZWZQdHI8QVBJOjpVUkxSZXNwb25zZT4gcmVzcG9uc2UgPSBBUEk6OlVSTFJlc3BvbnNl
OjpjcmVhdGUoY29waWVkVVJMUmVzcG9uc2UuZ2V0KCkpOwotICAgIHJldHVybiB0b0FQSShyZXNw
b25zZS5yZWxlYXNlKCkubGVha1JlZigpKTsKKyAgICByZXR1cm4gdG9BUEkoJkFQSTo6VVJMUmVz
cG9uc2U6OmNyZWF0ZShjb3BpZWRVUkxSZXNwb25zZS5nZXQoKSkubGVha1JlZigpKTsKIH0KIAog
TlNVUkxSZXNwb25zZSogV0tVUkxSZXNwb25zZUNvcHlOU1VSTFJlc3BvbnNlKFdLVVJMUmVzcG9u
c2VSZWYgdXJsUmVzcG9uc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Nv
bnRleHQuY3BwCmluZGV4IDU4MWQ5OTcyYWRlYjliNzc2ZDE3NmE2OTY5ZTIyZjg2MzA0N2NmNzQu
LjU2M2VjMDFmNjA1YmRlYWE5NjA3OGViNWQ3YThjZDdlNWRlNTBkYTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCkBAIC0yMDMsNyArMjAzLDcgQEAg
dm9pZCBXS0NvbnRleHRTZXREb3dubG9hZENsaWVudChXS0NvbnRleHRSZWYgY29udGV4dFJlZiwg
Y29uc3QgV0tDb250ZXh0RG93bmxvYWQKICAgICAgICAgICAgIGlmICghbV9jbGllbnQuZGlkUmVj
ZWl2ZVJlc3BvbnNlKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAgICAgbV9j
bGllbnQuZGlkUmVjZWl2ZVJlc3BvbnNlKHRvQVBJKHByb2Nlc3NQb29sKSwgdG9BUEkoZG93bmxv
YWRQcm94eSksIHRvQVBJKEFQSTo6VVJMUmVzcG9uc2U6OmNyZWF0ZShyZXNwb25zZSkuZ2V0KCkp
LCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAgICAgICAgbV9jbGllbnQuZGlkUmVj
ZWl2ZVJlc3BvbnNlKHRvQVBJKHByb2Nlc3NQb29sKSwgdG9BUEkoZG93bmxvYWRQcm94eSksIHRv
QVBJKEFQSTo6VVJMUmVzcG9uc2U6OmNyZWF0ZShyZXNwb25zZSkucHRyKCkpLCBtX2NsaWVudC5i
YXNlLmNsaWVudEluZm8pOwogICAgICAgICB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJl
Y2VpdmVEYXRhKFdlYlByb2Nlc3NQb29sKiBwcm9jZXNzUG9vbCwgRG93bmxvYWRQcm94eSogZG93
bmxvYWRQcm94eSwgdWludDY0X3QgbGVuZ3RoKSBvdmVycmlkZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRG93bmxvYWQuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLRG93bmxvYWQuY3BwCmluZGV4IGJlYjgyOWIzZWJjZTE5MjNjMzY4
NDVmZWZkNTY2MDNkYjc3MWUxYTIuLjcwNWNmZjBiM2IwNWJkYTg1MTViODZjMzE0MjJlNDU3MDUx
ZTBhOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Rvd25s
b2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tEb3dubG9hZC5j
cHAKQEAgLTQ1LDcgKzQ1LDcgQEAgdWludDY0X3QgV0tEb3dubG9hZEdldElEKFdLRG93bmxvYWRS
ZWYgZG93bmxvYWQpCiAKIFdLVVJMUmVxdWVzdFJlZiBXS0Rvd25sb2FkQ29weVJlcXVlc3QoV0tE
b3dubG9hZFJlZiBkb3dubG9hZCkKIHsKLSAgICByZXR1cm4gdG9BUEkoQVBJOjpVUkxSZXF1ZXN0
OjpjcmVhdGUodG9JbXBsKGRvd25sb2FkKS0+cmVxdWVzdCgpKS5sZWFrUmVmKCkpOworICAgIHJl
dHVybiB0b0FQSSgmQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUodG9JbXBsKGRvd25sb2FkKS0+cmVx
dWVzdCgpKS5sZWFrUmVmKCkpOwogfQogCiBXS0RhdGFSZWYgV0tEb3dubG9hZEdldFJlc3VtZURh
dGEoV0tEb3dubG9hZFJlZiBkb3dubG9hZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS05hdmlnYXRpb25EYXRhUmVmLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS05hdmlnYXRpb25EYXRhUmVmLmNwcAppbmRleCA4Njg0MGUzM2UzNDJj
Y2VjYjRjNDRlZTUzMjU4ODYxZGYxNjZjYzk3Li4wYTgxNWJiODI3ZTZmMTI0ZmZhNDlmZGZmNjEw
NTFlMzkwNmY2NmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tOYXZpZ2F0aW9uRGF0YVJlZi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLTmF2aWdhdGlvbkRhdGFSZWYuY3BwCkBAIC01NSw1ICs1NSw1IEBAIFdLVVJMUmVmIFdL
TmF2aWdhdGlvbkRhdGFDb3B5TmF2aWdhdGlvbkRlc3RpbmF0aW9uVVJMKFdLTmF2aWdhdGlvbkRh
dGFSZWYgbmF2aWdhCiAKIFdLVVJMUmVxdWVzdFJlZiBXS05hdmlnYXRpb25EYXRhQ29weU9yaWdp
bmFsUmVxdWVzdChXS05hdmlnYXRpb25EYXRhUmVmIG5hdmlnYXRpb25EYXRhKQogewotICAgIHJl
dHVybiB0b0FQSShBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZSh0b0ltcGwobmF2aWdhdGlvbkRhdGEp
LT5vcmlnaW5hbFJlcXVlc3QoKSkubGVha1JlZigpKTsKKyAgICByZXR1cm4gdG9BUEkoJkFQSTo6
VVJMUmVxdWVzdDo6Y3JlYXRlKHRvSW1wbChuYXZpZ2F0aW9uRGF0YSktPm9yaWdpbmFsUmVxdWVz
dCgpKS5sZWFrUmVmKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
LmNwcAppbmRleCBlZGUxYjhhNDE3NTFmMDZmMjJhMDQ3YWYyYzJlZTdjOTI1OTNlZTk0Li40MWFk
ZmZjZmM3YTA4YzNlMzkwZTg4OGY2MDMwZDMxY2I4OWU2NDgwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApAQCAtMTI1NywxNSArMTI1NywxNSBAQCB2b2lkIFdL
UGFnZVNldFBhZ2VQb2xpY3lDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZVBv
bGljeUNsaWVudEJhc2UqCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQog
Ci0gICAgICAgICAgICBSZWZQdHI8QVBJOjpVUkxSZXF1ZXN0PiBvcmlnaW5hbFJlcXVlc3QgPSBB
UEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShvcmlnaW5hbFJlc291cmNlUmVxdWVzdCk7Ci0gICAgICAg
ICAgICBSZWZQdHI8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0Ojpj
cmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKKyAgICAgICAgICAgIFJlZjxBUEk6OlVSTFJlcXVlc3Q+
IG9yaWdpbmFsUmVxdWVzdCA9IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKG9yaWdpbmFsUmVzb3Vy
Y2VSZXF1ZXN0KTsKKyAgICAgICAgICAgIFJlZjxBUEk6OlVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBB
UEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShyZXNvdXJjZVJlcXVlc3QpOwogCiAgICAgICAgICAgICBp
ZiAobV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbl9kZXByZWNhdGVkRm9y
VXNlV2l0aFYwKQotICAgICAgICAgICAgICAgIG1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25BY3Rpb25fZGVwcmVjYXRlZEZvclVzZVdpdGhWMCh0b0FQSSgmcGFnZSksIHRvQVBJKGZy
YW1lKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubmF2aWdhdGlvblR5cGUpLCB0b0FQSShu
YXZpZ2F0aW9uQWN0aW9uRGF0YS5tb2RpZmllcnMpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0
YS5tb3VzZUJ1dHRvbiksIHRvQVBJKHJlcXVlc3QuZ2V0KCkpLCB0b0FQSShsaXN0ZW5lci5wdHIo
KSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAg
ICAgICAgICBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uX2RlcHJlY2F0
ZWRGb3JVc2VXaXRoVjAodG9BUEkoJnBhZ2UpLCB0b0FQSShmcmFtZSksIHRvQVBJKG5hdmlnYXRp
b25BY3Rpb25EYXRhLm5hdmlnYXRpb25UeXBlKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEu
bW9kaWZpZXJzKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW91c2VCdXR0b24pLCB0b0FQ
SShyZXF1ZXN0LnB0cigpKSwgdG9BUEkobGlzdGVuZXIucHRyKCkpLCB0b0FQSSh1c2VyRGF0YSks
IG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgICAgICAgICBlbHNlIGlmIChtX2NsaWVu
dC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjEp
Ci0gICAgICAgICAgICAgICAgbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlv
bl9kZXByZWNhdGVkRm9yVXNlV2l0aFYxKHRvQVBJKCZwYWdlKSwgdG9BUEkoZnJhbWUpLCB0b0FQ
SShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5uYXZpZ2F0aW9uVHlwZSksIHRvQVBJKG5hdmlnYXRpb25B
Y3Rpb25EYXRhLm1vZGlmaWVycyksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vdXNlQnV0
dG9uKSwgdG9BUEkob3JpZ2luYXRpbmdGcmFtZSksIHRvQVBJKHJlcXVlc3QuZ2V0KCkpLCB0b0FQ
SShsaXN0ZW5lci5wdHIoKSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJ
bmZvKTsKKyAgICAgICAgICAgICAgICBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9u
QWN0aW9uX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjEodG9BUEkoJnBhZ2UpLCB0b0FQSShmcmFtZSks
IHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm5hdmlnYXRpb25UeXBlKSwgdG9BUEkobmF2aWdh
dGlvbkFjdGlvbkRhdGEubW9kaWZpZXJzKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW91
c2VCdXR0b24pLCB0b0FQSShvcmlnaW5hdGluZ0ZyYW1lKSwgdG9BUEkocmVxdWVzdC5wdHIoKSks
IHRvQVBJKGxpc3RlbmVyLnB0cigpKSwgdG9BUEkodXNlckRhdGEpLCBtX2NsaWVudC5iYXNlLmNs
aWVudEluZm8pOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIG1fY2xpZW50LmRl
Y2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odG9BUEkoJnBhZ2UpLCB0b0FQSShmcmFtZSks
IHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm5hdmlnYXRpb25UeXBlKSwgdG9BUEkobmF2aWdh
dGlvbkFjdGlvbkRhdGEubW9kaWZpZXJzKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW91
c2VCdXR0b24pLCB0b0FQSShvcmlnaW5hdGluZ0ZyYW1lKSwgdG9BUEkob3JpZ2luYWxSZXF1ZXN0
LmdldCgpKSwgdG9BUEkocmVxdWVzdC5nZXQoKSksIHRvQVBJKGxpc3RlbmVyLnB0cigpKSwgdG9B
UEkodXNlckRhdGEpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAgICAgICAgICAg
IG1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odG9BUEkoJnBhZ2UpLCB0
b0FQSShmcmFtZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm5hdmlnYXRpb25UeXBlKSwg
dG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW9kaWZpZXJzKSwgdG9BUEkobmF2aWdhdGlvbkFj
dGlvbkRhdGEubW91c2VCdXR0b24pLCB0b0FQSShvcmlnaW5hdGluZ0ZyYW1lKSwgdG9BUEkob3Jp
Z2luYWxSZXF1ZXN0LnB0cigpKSwgdG9BUEkocmVxdWVzdC5wdHIoKSksIHRvQVBJKGxpc3RlbmVy
LnB0cigpKSwgdG9BUEkodXNlckRhdGEpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogICAg
ICAgICB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0Fj
dGlvbihXZWJQYWdlUHJveHkmIHBhZ2UsIFdlYkZyYW1lUHJveHkmIGZyYW1lLCBjb25zdCBOYXZp
Z2F0aW9uQWN0aW9uRGF0YSYgbmF2aWdhdGlvbkFjdGlvbkRhdGEsIGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVzb3VyY2VSZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgUmVmPFdlYkZy
YW1lUG9saWN5TGlzdGVuZXJQcm94eT4mJiBsaXN0ZW5lciwgQVBJOjpPYmplY3QqIHVzZXJEYXRh
KSBvdmVycmlkZQpAQCAtMTI3NSw5ICsxMjc1LDkgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlUG9saWN5
Q2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VQb2xpY3lDbGllbnRCYXNlKgog
ICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgUmVm
UHRyPEFQSTo6VVJMUmVxdWVzdD4gcmVxdWVzdCA9IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKHJl
c291cmNlUmVxdWVzdCk7CisgICAgICAgICAgICBSZWY8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0
ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKIAotICAgICAgICAg
ICAgbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKHRvQVBJKCZwYWdlKSwg
dG9BUEkoJmZyYW1lKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubmF2aWdhdGlvblR5cGUp
LCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5tb2RpZmllcnMpLCB0b0FQSShuYXZpZ2F0aW9u
QWN0aW9uRGF0YS5tb3VzZUJ1dHRvbiksIHRvQVBJKHJlcXVlc3QuZ2V0KCkpLCB0b0FQSShmcmFt
ZU5hbWUuaW1wbCgpKSwgdG9BUEkobGlzdGVuZXIucHRyKCkpLCB0b0FQSSh1c2VyRGF0YSksIG1f
Y2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CisgICAgICAgICAgICBtX2NsaWVudC5kZWNpZGVQb2xp
Y3lGb3JOZXdXaW5kb3dBY3Rpb24odG9BUEkoJnBhZ2UpLCB0b0FQSSgmZnJhbWUpLCB0b0FQSShu
YXZpZ2F0aW9uQWN0aW9uRGF0YS5uYXZpZ2F0aW9uVHlwZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rp
b25EYXRhLm1vZGlmaWVycyksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vdXNlQnV0dG9u
KSwgdG9BUEkocmVxdWVzdC5wdHIoKSksIHRvQVBJKGZyYW1lTmFtZS5pbXBsKCkpLCB0b0FQSShs
aXN0ZW5lci5wdHIoKSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZv
KTsKICAgICAgICAgfQogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZWNpZGVQb2xpY3lGb3JSZXNw
b25zZShXZWJQYWdlUHJveHkmIHBhZ2UsIFdlYkZyYW1lUHJveHkmIGZyYW1lLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNvdXJjZVJlc3BvbnNlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJl
c291cmNlUmVxdWVzdCwgYm9vbCBjYW5TaG93TUlNRVR5cGUsIFJlZjxXZWJGcmFtZVBvbGljeUxp
c3RlbmVyUHJveHk+JiYgbGlzdGVuZXIsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkgb3ZlcnJpZGUK
QEAgLTEyODcsMTMgKzEyODcsMTMgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlUG9saWN5Q2xpZW50KFdL
UGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VQb2xpY3lDbGllbnRCYXNlKgogICAgICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgUmVmUHRyPEFQSTo6
VVJMUmVzcG9uc2U+IHJlc3BvbnNlID0gQVBJOjpVUkxSZXNwb25zZTo6Y3JlYXRlKHJlc291cmNl
UmVzcG9uc2UpOwotICAgICAgICAgICAgUmVmUHRyPEFQSTo6VVJMUmVxdWVzdD4gcmVxdWVzdCA9
IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKHJlc291cmNlUmVxdWVzdCk7CisgICAgICAgICAgICBS
ZWY8QVBJOjpVUkxSZXNwb25zZT4gcmVzcG9uc2UgPSBBUEk6OlVSTFJlc3BvbnNlOjpjcmVhdGUo
cmVzb3VyY2VSZXNwb25zZSk7CisgICAgICAgICAgICBSZWY8QVBJOjpVUkxSZXF1ZXN0PiByZXF1
ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKIAogICAgICAg
ICAgICAgaWYgKG1fY2xpZW50LmRlY2lkZVBvbGljeUZvclJlc3BvbnNlX2RlcHJlY2F0ZWRGb3JV
c2VXaXRoVjApCi0gICAgICAgICAgICAgICAgbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yUmVzcG9u
c2VfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCh0b0FQSSgmcGFnZSksIHRvQVBJKCZmcmFtZSksIHRv
QVBJKHJlc3BvbnNlLmdldCgpKSwgdG9BUEkocmVxdWVzdC5nZXQoKSksIHRvQVBJKGxpc3RlbmVy
LnB0cigpKSwgdG9BUEkodXNlckRhdGEpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAg
ICAgICAgICAgICAgIG1fY2xpZW50LmRlY2lkZVBvbGljeUZvclJlc3BvbnNlX2RlcHJlY2F0ZWRG
b3JVc2VXaXRoVjAodG9BUEkoJnBhZ2UpLCB0b0FQSSgmZnJhbWUpLCB0b0FQSShyZXNwb25zZS5w
dHIoKSksIHRvQVBJKHJlcXVlc3QucHRyKCkpLCB0b0FQSShsaXN0ZW5lci5wdHIoKSksIHRvQVBJ
KHVzZXJEYXRhKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JSZXNwb25zZSh0b0FQSSgm
cGFnZSksIHRvQVBJKCZmcmFtZSksIHRvQVBJKHJlc3BvbnNlLmdldCgpKSwgdG9BUEkocmVxdWVz
dC5nZXQoKSksIGNhblNob3dNSU1FVHlwZSwgdG9BUEkobGlzdGVuZXIucHRyKCkpLCB0b0FQSSh1
c2VyRGF0YSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CisgICAgICAgICAgICAgICAgbV9j
bGllbnQuZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UodG9BUEkoJnBhZ2UpLCB0b0FQSSgmZnJhbWUp
LCB0b0FQSShyZXNwb25zZS5wdHIoKSksIHRvQVBJKHJlcXVlc3QucHRyKCkpLCBjYW5TaG93TUlN
RVR5cGUsIHRvQVBJKGxpc3RlbmVyLnB0cigpKSwgdG9BUEkodXNlckRhdGEpLCBtX2NsaWVudC5i
YXNlLmNsaWVudEluZm8pOwogICAgICAgICB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHVuYWJs
ZVRvSW1wbGVtZW50UG9saWN5KFdlYlBhZ2VQcm94eSYgcGFnZSwgV2ViRnJhbWVQcm94eSYgZnJh
bWUsIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpIG92
ZXJyaWRlCkBAIC0xMzQ4LDggKzEzNDgsOCBAQCB2b2lkIFdLUGFnZVNldFBhZ2VVSUNsaWVudChX
S1BhZ2VSZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdlVUlDbGllbnRCYXNlKiB3a0NsaWVudAogICAg
ICAgICAgICAgaWYgKCFtX2NsaWVudC5iYXNlLnZlcnNpb24pCiAgICAgICAgICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKHRvSW1wbChtX2NsaWVudC5jcmVhdGVOZXdQYWdlX2RlcHJlY2F0ZWRGb3JV
c2VXaXRoVjAodG9BUEkocGFnZSksIHRvQVBJKGZlYXR1cmVzTWFwLmdldCgpKSwgdG9BUEkobmF2
aWdhdGlvbkFjdGlvbkRhdGEubW9kaWZpZXJzKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEu
bW91c2VCdXR0b24pLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pKSk7CiAKLSAgICAgICAgICAg
IFJlZlB0cjxBUEk6OlVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0
ZShyZXNvdXJjZVJlcXVlc3QpOwotICAgICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKHRvSW1wbCht
X2NsaWVudC5jcmVhdGVOZXdQYWdlKHRvQVBJKHBhZ2UpLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwg
dG9BUEkoZmVhdHVyZXNNYXAuZ2V0KCkpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5tb2Rp
ZmllcnMpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5tb3VzZUJ1dHRvbiksIG1fY2xpZW50
LmJhc2UuY2xpZW50SW5mbykpKTsKKyAgICAgICAgICAgIFJlZjxBUEk6OlVSTFJlcXVlc3Q+IHJl
cXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShyZXNvdXJjZVJlcXVlc3QpOworICAgICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKHRvSW1wbChtX2NsaWVudC5jcmVhdGVOZXdQYWdlKHRvQVBJ
KHBhZ2UpLCB0b0FQSShyZXF1ZXN0LnB0cigpKSwgdG9BUEkoZmVhdHVyZXNNYXAuZ2V0KCkpLCB0
b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5tb2RpZmllcnMpLCB0b0FQSShuYXZpZ2F0aW9uQWN0
aW9uRGF0YS5tb3VzZUJ1dHRvbiksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbykpKTsKICAgICAg
ICAgfQogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBzaG93UGFnZShXZWJQYWdlUHJveHkqIHBhZ2Up
IG92ZXJyaWRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2
aWdhdGlvblN0YXRlLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRp
b25TdGF0ZS5tbQppbmRleCAwYjBiZDc1ZGU2MDllOWJlYjExZTIzYzFhOTExZGRjOGE0NzYwZWQ5
Li44NjI2MjUxZGQ5MzliYTUyMTM3ZmQ5NzE2NWUzYTBlMGE4ZjczOWRkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KQEAgLTI2NSw3
ICsyNjUsNyBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNsaWVudDo6ZGVjaWRl
UG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihXZWJQYWdlUAogICAgICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgUmV0YWluUHRyPE5TVVJMUmVxdWVzdD4g
bnNVUkxSZXF1ZXN0ID0gYWRvcHROUyh3cmFwcGVyKCpBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShs
b2NhbE5hdmlnYXRpb25BY3Rpb24tPnJlcXVlc3QoKSkubGVha1JlZigpKSk7CisgICAgICAgICAg
ICBSZXRhaW5QdHI8TlNVUkxSZXF1ZXN0PiBuc1VSTFJlcXVlc3QgPSBhZG9wdE5TKHdyYXBwZXIo
QVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUobG9jYWxOYXZpZ2F0aW9uQWN0aW9uLT5yZXF1ZXN0KCkp
LmxlYWtSZWYoKSkpOwogICAgICAgICAgICAgaWYgKFtOU1VSTENvbm5lY3Rpb24gY2FuSGFuZGxl
UmVxdWVzdDpuc1VSTFJlcXVlc3QuZ2V0KCldKSB7CiAgICAgICAgICAgICAgICAgbG9jYWxMaXN0
ZW5lci0+dXNlKCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL3NvdXAvV2ViU291cEN1
c3RvbVByb3RvY29sUmVxdWVzdE1hbmFnZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL3NvdXAvV2ViU291cEN1c3RvbVByb3RvY29s
UmVxdWVzdE1hbmFnZXJDbGllbnQuY3BwCmluZGV4IDUwOTFhMjYyZjFjNDk0ZmQxYzcyY2U5ZTU0
YTYwMzk5OTU1ODhkMWYuLmM0ZGVmNjI4NzIyZDkxMGFjNGFmZjI1Y2ViNzM1NjJkNzNiZDdhMWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3Rv
Y29scy9zb3VwL1dlYlNvdXBDdXN0b21Qcm90b2NvbFJlcXVlc3RNYW5hZ2VyQ2xpZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvc291
cC9XZWJTb3VwQ3VzdG9tUHJvdG9jb2xSZXF1ZXN0TWFuYWdlckNsaWVudC5jcHAKQEAgLTI5LDgg
KzI5LDggQEAgYm9vbCBXZWJTb3VwQ3VzdG9tUHJvdG9jb2xSZXF1ZXN0TWFuYWdlckNsaWVudDo6
c3RhcnRMb2FkaW5nKFdlYlNvdXBDdXN0b21Qcm90b2MKICAgICBpZiAoIW1fY2xpZW50LnN0YXJ0
TG9hZGluZykKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgUmVmUHRyPEFQSTo6VVJMUmVx
dWVzdD4gdXJsUmVxdWVzdCA9IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKHJlcXVlc3QpOwotICAg
IG1fY2xpZW50LnN0YXJ0TG9hZGluZyh0b0FQSShzb3VwUmVxdWVzdE1hbmFnZXIpLCBjdXN0b21Q
cm90b2NvbElELCB0b0FQSSh1cmxSZXF1ZXN0LmdldCgpKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJ
bmZvKTsKKyAgICBSZWY8QVBJOjpVUkxSZXF1ZXN0PiB1cmxSZXF1ZXN0ID0gQVBJOjpVUkxSZXF1
ZXN0OjpjcmVhdGUocmVxdWVzdCk7CisgICAgbV9jbGllbnQuc3RhcnRMb2FkaW5nKHRvQVBJKHNv
dXBSZXF1ZXN0TWFuYWdlciksIGN1c3RvbVByb3RvY29sSUQsIHRvQVBJKHVybFJlcXVlc3QucHRy
KCkpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogICAgIHJldHVybiB0cnVlOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9n
dGsvV2ViS2l0V2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9ndGsvV2ViS2l0V2ViUGFnZS5jcHAKaW5kZXggN2IxNzQyYzA1YjI5Y2EzYWU3
Zjk4YWZhYmI3NzY1M2Y5ODNlMzVlOC4uNTM1ZDhmNjMzZTliYmYxZDVkNGJlZTZiZDRmYjkyMDQ4
NzgxMjI2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvZ3RrL1dlYktpdFdlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJLaXRXZWJQYWdlLmNwcApAQCAtMjAzLDE3
ICsyMDMsMTcgQEAgc3RhdGljIFdLVVJMUmVxdWVzdFJlZiB3aWxsU2VuZFJlcXVlc3RGb3JGcmFt
ZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmEKICAgICBSZXNvdXJjZVJlcXVlc3Qg
cmVzb3VyY2VSZXF1ZXN0OwogICAgIHdlYmtpdFVSSVJlcXVlc3RHZXRSZXNvdXJjZVJlcXVlc3Qo
cmVxdWVzdC5nZXQoKSwgcmVzb3VyY2VSZXF1ZXN0KTsKICAgICByZXNvdXJjZVJlcXVlc3Quc2V0
SW5pdGlhdGluZ1BhZ2VJRCh0b0ltcGwocGFnZSktPnBhZ2VJRCgpKTsKLSAgICBSZWZQdHI8QVBJ
OjpVUkxSZXF1ZXN0PiBuZXdSZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3Vy
Y2VSZXF1ZXN0KTsKKyAgICBSZWY8QVBJOjpVUkxSZXF1ZXN0PiBuZXdSZXF1ZXN0ID0gQVBJOjpV
UkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKIAogICAgIEFQSTo6RGljdGlvbmFy
eTo6TWFwVHlwZSBtZXNzYWdlOwogICAgIG1lc3NhZ2Uuc2V0KFN0cmluZzo6ZnJvbVVURjgoIlBh
Z2UiKSwgdG9JbXBsKHBhZ2UpKTsKICAgICBtZXNzYWdlLnNldChTdHJpbmc6OmZyb21VVEY4KCJJ
ZGVudGlmaWVyIiksIEFQSTo6VUludDY0OjpjcmVhdGUoaWRlbnRpZmllcikpOwotICAgIG1lc3Nh
Z2Uuc2V0KFN0cmluZzo6ZnJvbVVURjgoIlJlcXVlc3QiKSwgbmV3UmVxdWVzdC5nZXQoKSk7Cisg
ICAgbWVzc2FnZS5zZXQoU3RyaW5nOjpmcm9tVVRGOCgiUmVxdWVzdCIpLCBuZXdSZXF1ZXN0LnB0
cigpKTsKICAgICBpZiAoIXJlZGlyZWN0UmVzb3VyY2VSZXNwb25zZS5pc051bGwoKSkKICAgICAg
ICAgbWVzc2FnZS5zZXQoU3RyaW5nOjpmcm9tVVRGOCgiUmVkaXJlY3RSZXNwb25zZSIpLCB0b0lt
cGwod2tSZWRpcmVjdFJlc3BvbnNlKSk7CiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuaW5q
ZWN0ZWRCdW5kbGUoKS0+cG9zdE1lc3NhZ2UoU3RyaW5nOjpmcm9tVVRGOCgiV2ViUGFnZS5EaWRT
ZW5kUmVxdWVzdEZvclJlc291cmNlIiksIEFQSTo6RGljdGlvbmFyeTo6Y3JlYXRlKFdURjo6bW92
ZShtZXNzYWdlKSkuZ2V0KCkpOwogCi0gICAgcmV0dXJuIHRvQVBJKG5ld1JlcXVlc3QucmVsZWFz
ZSgpLmxlYWtSZWYoKSk7CisgICAgcmV0dXJuIHRvQVBJKCZuZXdSZXF1ZXN0LmxlYWtSZWYoKSk7
CiB9CiAKIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZUZvclJlc291cmNlKFdLQnVuZGxl
UGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmLCB1aW50NjRfdCBpZGVudGlmaWVyLCBXS1VS
TFJlc3BvbnNlUmVmIHJlc3BvbnNlLCBjb25zdCB2b2lkKikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlUG9saWN5
Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGVQYWdlUG9saWN5Q2xpZW50LmNwcAppbmRleCAwZTExZmJmZTM4NjU4YWZkMWY1
YzU0ZjZmZGU2ZDdmMGUwNzVhOWZhLi4yY2I5NzdjZDgyYjNhZTMwNDAxNDgxMTQ2ODEzNmViNjll
MzZhMzg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlUGFnZVBvbGljeUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VQb2xpY3lDbGll
bnQuY3BwCkBAIC00MiwxMCArNDIsMTAgQEAgV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uIEluamVj
dGVkQnVuZGxlUGFnZVBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGkKICAgICBp
ZiAoIW1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pCiAgICAgICAgIHJl
dHVybiBXS0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb25QYXNzVGhyb3VnaDsKIAotICAgIFJlZlB0cjxB
UEk6OlVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShyZXNvdXJj
ZVJlcXVlc3QpOworICAgIFJlZjxBUEk6OlVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBBUEk6OlVSTFJl
cXVlc3Q6OmNyZWF0ZShyZXNvdXJjZVJlcXVlc3QpOwogCiAgICAgV0tUeXBlUmVmIHVzZXJEYXRh
VG9QYXNzID0gMDsKLSAgICBXS0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb24gcG9saWN5ID0gbV9jbGll
bnQuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbih0b0FQSShwYWdlKSwgdG9BUEkoZnJh
bWUpLCB0b0FQSShhY3Rpb24pLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgJnVzZXJEYXRhVG9QYXNz
LCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgIFdLQnVuZGxlUGFnZVBvbGljeUFjdGlv
biBwb2xpY3kgPSBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKHRvQVBJ
KHBhZ2UpLCB0b0FQSShmcmFtZSksIHRvQVBJKGFjdGlvbiksIHRvQVBJKHJlcXVlc3QucHRyKCkp
LCAmdXNlckRhdGFUb1Bhc3MsIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgdXNlckRh
dGEgPSBhZG9wdFJlZih0b0ltcGwodXNlckRhdGFUb1Bhc3MpKTsKICAgICByZXR1cm4gcG9saWN5
OwogfQpAQCAtNTUsMTAgKzU1LDEwIEBAIFdLQnVuZGxlUGFnZVBvbGljeUFjdGlvbiBJbmplY3Rl
ZEJ1bmRsZVBhZ2VQb2xpY3lDbGllbnQ6OmRlY2lkZVBvbGljeUZvck5ld1dpbmRvCiAgICAgaWYg
KCFtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24pCiAgICAgICAgIHJldHVy
biBXS0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb25QYXNzVGhyb3VnaDsKIAotICAgIFJlZlB0cjxBUEk6
OlVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShyZXNvdXJjZVJl
cXVlc3QpOworICAgIFJlZjxBUEk6OlVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBBUEk6OlVSTFJlcXVl
c3Q6OmNyZWF0ZShyZXNvdXJjZVJlcXVlc3QpOwogCiAgICAgV0tUeXBlUmVmIHVzZXJEYXRhVG9Q
YXNzID0gMDsKLSAgICBXS0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb24gcG9saWN5ID0gbV9jbGllbnQu
ZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKHRvQVBJKHBhZ2UpLCB0b0FQSShmcmFtZSks
IHRvQVBJKGFjdGlvbiksIHRvQVBJKHJlcXVlc3QuZ2V0KCkpLCB0b0FQSShmcmFtZU5hbWUuaW1w
bCgpKSwgJnVzZXJEYXRhVG9QYXNzLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgIFdL
QnVuZGxlUGFnZVBvbGljeUFjdGlvbiBwb2xpY3kgPSBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JO
ZXdXaW5kb3dBY3Rpb24odG9BUEkocGFnZSksIHRvQVBJKGZyYW1lKSwgdG9BUEkoYWN0aW9uKSwg
dG9BUEkocmVxdWVzdC5wdHIoKSksIHRvQVBJKGZyYW1lTmFtZS5pbXBsKCkpLCAmdXNlckRhdGFU
b1Bhc3MsIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgdXNlckRhdGEgPSBhZG9wdFJl
Zih0b0ltcGwodXNlckRhdGFUb1Bhc3MpKTsKICAgICByZXR1cm4gcG9saWN5OwogfQpAQCAtNjgs
MTEgKzY4LDExIEBAIFdLQnVuZGxlUGFnZVBvbGljeUFjdGlvbiBJbmplY3RlZEJ1bmRsZVBhZ2VQ
b2xpY3lDbGllbnQ6OmRlY2lkZVBvbGljeUZvclJlc3BvbnNlCiAgICAgaWYgKCFtX2NsaWVudC5k
ZWNpZGVQb2xpY3lGb3JSZXNwb25zZSkKICAgICAgICAgcmV0dXJuIFdLQnVuZGxlUGFnZVBvbGlj
eUFjdGlvblBhc3NUaHJvdWdoOwogCi0gICAgUmVmUHRyPEFQSTo6VVJMUmVzcG9uc2U+IHJlc3Bv
bnNlID0gQVBJOjpVUkxSZXNwb25zZTo6Y3JlYXRlKHJlc291cmNlUmVzcG9uc2UpOwotICAgIFJl
ZlB0cjxBUEk6OlVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShy
ZXNvdXJjZVJlcXVlc3QpOworICAgIFJlZjxBUEk6OlVSTFJlc3BvbnNlPiByZXNwb25zZSA9IEFQ
STo6VVJMUmVzcG9uc2U6OmNyZWF0ZShyZXNvdXJjZVJlc3BvbnNlKTsKKyAgICBSZWY8QVBJOjpV
UkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1
ZXN0KTsKIAogICAgIFdLVHlwZVJlZiB1c2VyRGF0YVRvUGFzcyA9IDA7Ci0gICAgV0tCdW5kbGVQ
YWdlUG9saWN5QWN0aW9uIHBvbGljeSA9IG1fY2xpZW50LmRlY2lkZVBvbGljeUZvclJlc3BvbnNl
KHRvQVBJKHBhZ2UpLCB0b0FQSShmcmFtZSksIHRvQVBJKHJlc3BvbnNlLmdldCgpKSwgdG9BUEko
cmVxdWVzdC5nZXQoKSksICZ1c2VyRGF0YVRvUGFzcywgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZv
KTsKKyAgICBXS0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb24gcG9saWN5ID0gbV9jbGllbnQuZGVjaWRl
UG9saWN5Rm9yUmVzcG9uc2UodG9BUEkocGFnZSksIHRvQVBJKGZyYW1lKSwgdG9BUEkocmVzcG9u
c2UucHRyKCkpLCB0b0FQSShyZXF1ZXN0LnB0cigpKSwgJnVzZXJEYXRhVG9QYXNzLCBtX2NsaWVu
dC5iYXNlLmNsaWVudEluZm8pOwogICAgIHVzZXJEYXRhID0gYWRvcHRSZWYodG9JbXBsKHVzZXJE
YXRhVG9QYXNzKSk7CiAgICAgcmV0dXJuIHBvbGljeTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251828</attachid>
            <date>2015-04-27 23:56:42 -0700</date>
            <delta_ts>2015-04-27 23:56:42 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-144224-20150428085533.patch</filename>
            <type>text/plain</type>
            <size>22770</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNDYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjNjY2RmNzNhMjE1ZWI1
YTgyZDQ4NjExZWFlMGEyMzAwOWU5MGJjYi4uZGE5OTMwNTgwMWM5NzU5YjIxYjNmZTdhMTZiM2Zm
NzUyZWM4YzBhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ2IEBACiAyMDE1LTA0LTI3ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAorICAgICAgICBbV0syXSBBUEk6OlVS
TFJlcXVlc3QsIEFQSTo6VVJMUmVzcG9uc2UgY3JlYXRpb24gZnVuY3Rpb25zIHNob3VsZCByZXR1
cm4gUmVmPD4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0NDIyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEhhdmUgQVBJOjpVUkxSZXF1ZXN0IGFuZCBBUEk6OlVSTFJlc3BvbnNlIGNyZWF0aW9uIGZ1bmN0
aW9ucyByZXR1cm4gUmVmPD4uCisgICAgICAgIFRoZSBjYWxsLXNpdGVzIGFyZSBhbHNvIHVwZGF0
ZWQsIHVzaW5nIGFuZCBvcGVyYXRpbmcgb24gdGhlIHJldHVybmVkIFJlZjw+IG9iamVjdAorICAg
ICAgICB3aGVyZSBwb3NzaWJsZS4KKworICAgICAgICAqIFNoYXJlZC9BUEkvQVBJVVJMUmVxdWVz
dC5oOgorICAgICAgICAoQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUpOgorICAgICAgICAqIFNoYXJl
ZC9BUEkvQVBJVVJMUmVzcG9uc2UuaDoKKyAgICAgICAgKEFQSTo6VVJMUmVzcG9uc2U6OmNyZWF0
ZSk6CisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLVVJMUmVxdWVzdC5jcHA6CisgICAgICAgIChX
S1VSTFJlcXVlc3RDcmVhdGVXaXRoV0tVUkwpOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9tYWMv
V0tVUkxSZXF1ZXN0TlMubW06CisgICAgICAgIChXS1VSTFJlcXVlc3RDcmVhdGVXaXRoTlNVUkxS
ZXF1ZXN0KToKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvbWFjL1dLVVJMUmVzcG9uc2VOUy5tbToK
KyAgICAgICAgKFdLVVJMUmVzcG9uc2VDcmVhdGVXaXRoTlNVUkxSZXNwb25zZSk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHA6CisgICAgICAgIChXS0NvbnRleHRTZXRE
b3dubG9hZENsaWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLRG93bmxvYWQuY3Bw
OgorICAgICAgICAoV0tEb3dubG9hZENvcHlSZXF1ZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvV0tOYXZpZ2F0aW9uRGF0YVJlZi5jcHA6CisgICAgICAgIChXS05hdmlnYXRpb25EYXRh
Q29weU9yaWdpbmFsUmVxdWVzdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5j
cHA6CisgICAgICAgIChXS1BhZ2VTZXRQYWdlUG9saWN5Q2xpZW50KToKKyAgICAgICAgKFdLUGFn
ZVNldFBhZ2VVSUNsaWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25T
dGF0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6TmF2aWdhdGlvblN0YXRlOjpOYXZpZ2F0aW9uQ2xp
ZW50OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvc291cC9XZWJTb3VwQ3VzdG9tUHJvdG9jb2xSZXF1
ZXN0TWFuYWdlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNvdXBDdXN0b21Qcm90
b2NvbFJlcXVlc3RNYW5hZ2VyQ2xpZW50OjpzdGFydExvYWRpbmcpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJLaXRXZWJQYWdlLmNwcDoKKyAgICAgICAg
KHdpbGxTZW5kUmVxdWVzdEZvckZyYW1lKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZVBvbGljeUNsaWVudC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkluamVjdGVkQnVuZGxlUGFnZVBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdh
dGlvbkFjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlUGFnZVBvbGljeUNs
aWVudDo6ZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6
SW5qZWN0ZWRCdW5kbGVQYWdlUG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JSZXNwb25zZSk6
CisKKzIwMTUtMDQtMjcgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgorCiAg
ICAgICAgIFtXSzJdIEFQSTo6UG9pbnQsIEFQSTo6U2l6ZSwgQVBJOjpSZWN0IGNyZWF0aW9uIGZ1
bmN0aW9ucyBzaG91bGQgcmV0dXJuIFJlZjw+CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQyMjMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSS9BUElVUkxSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0FQ
SVVSTFJlcXVlc3QuaAppbmRleCBkNWU0ZDRhMmVmOTg2YjI4NTc3MDViMzIxYWVlODFiMjc0OTIy
ODVlLi4wMjZjY2UzOWIyMTZjMGVhMWE1YzA3ODVmZjgwNDY0YzQwNmJlNWJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0FQSVVSTFJlcXVlc3QuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQVBJL0FQSVVSTFJlcXVlc3QuaApAQCAtMzksOSArMzksOSBAQCBuYW1l
c3BhY2UgQVBJIHsKIAogY2xhc3MgVVJMUmVxdWVzdCA6IHB1YmxpYyBPYmplY3RJbXBsPE9iamVj
dDo6VHlwZTo6VVJMUmVxdWVzdD4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFVS
TFJlcXVlc3Q+IGNyZWF0ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qp
CisgICAgc3RhdGljIFJlZjxVUkxSZXF1ZXN0PiBjcmVhdGUoY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiByZXF1ZXN0KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBV
UkxSZXF1ZXN0KHJlcXVlc3QpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVVJMUmVx
dWVzdChyZXF1ZXN0KSk7CiAgICAgfQogCiAgICAgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiByZXNvdXJjZVJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBtX3JlcXVlc3Q7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQVBJVVJMUmVzcG9uc2UuaCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUEkvQVBJVVJMUmVzcG9uc2UuaAppbmRleCAyNzkwYjlmYmUzZjlj
NTFiZmRmYTQyMTU0OTZlMzk4ZGFmOWY0ZmRjLi5kYjgxYjNmOWM3ODljZjczM2JkMWNlM2M1Mzc3
YjY2NjYwMDgyODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0FQSVVS
TFJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9BUElVUkxSZXNwb25z
ZS5oCkBAIC0zOSw5ICszOSw5IEBAIG5hbWVzcGFjZSBBUEkgewogCiBjbGFzcyBVUkxSZXNwb25z
ZSA6IHB1YmxpYyBPYmplY3RJbXBsPE9iamVjdDo6VHlwZTo6VVJMUmVzcG9uc2U+IHsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxVUkxSZXNwb25zZT4gY3JlYXRlKGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQorICAgIHN0YXRpYyBSZWY8VVJMUmVzcG9u
c2U+IGNyZWF0ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKICAg
ICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVVJMUmVzcG9uc2UocmVzcG9uc2UpKTsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVVJMUmVzcG9uc2UocmVzcG9uc2UpKTsKICAg
ICB9CiAKICAgICBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNvdXJjZVJlc3Bv
bnNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQVBJL2MvV0tVUkxSZXF1ZXN0LmNwcAppbmRleCBlZGJmMjE5ZGMyNDg0MmM3YWY0MzU3ODg0
MTc4YzNkZDRlZTMyNmQ1Li4xYTMzN2IyYTU3OTZmOWI5N2ZjZjQzZjcxMWIxYmM4NTU2ZjUyNmE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxSZXF1ZXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxSZXF1ZXN0LmNwcApAQCAt
NDAsNyArNDAsNyBAQCBXS1R5cGVJRCBXS1VSTFJlcXVlc3RHZXRUeXBlSUQoKQogCiBXS1VSTFJl
cXVlc3RSZWYgV0tVUkxSZXF1ZXN0Q3JlYXRlV2l0aFdLVVJMKFdLVVJMUmVmIHVybCkKIHsKLSAg
ICByZXR1cm4gdG9BUEkoQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUoVVJMKFVSTCgpLCB0b0ltcGwo
dXJsKS0+c3RyaW5nKCkpKS5sZWFrUmVmKCkpOworICAgIHJldHVybiB0b0FQSSgmQVBJOjpVUkxS
ZXF1ZXN0OjpjcmVhdGUoVVJMKFVSTCgpLCB0b0ltcGwodXJsKS0+c3RyaW5nKCkpKS5sZWFrUmVm
KCkpOwogfQogCiBXS1VSTFJlZiBXS1VSTFJlcXVlc3RDb3B5VVJMKFdLVVJMUmVxdWVzdFJlZiBy
ZXF1ZXN0UmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9X
S1VSTFJlcXVlc3ROUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tVUkxS
ZXF1ZXN0TlMubW0KaW5kZXggZjgwNDE1OGY1MjFhNzczYzg4ZWFiOTc5YWRhYmJkNzJkZDRhYzJm
NC4uYWFkZGRkMTkzN2Q0ZGZjMTIxODA0OTYxNGQ2YTY1MjY5Y2JkMTkyMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS1VSTFJlcXVlc3ROUy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLVVJMUmVxdWVzdE5TLm1tCkBAIC0zNSw4
ICszNSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiBXS1VSTFJlcXVlc3RSZWYgV0tVUkxS
ZXF1ZXN0Q3JlYXRlV2l0aE5TVVJMUmVxdWVzdChOU1VSTFJlcXVlc3QqIHVybFJlcXVlc3QpCiB7
CiAgICAgUmV0YWluUHRyPE5TVVJMUmVxdWVzdD4gY29waWVkVVJMUmVxdWVzdCA9IGFkb3B0TlMo
W3VybFJlcXVlc3QgY29weV0pOwotICAgIFJlZlB0cjxBUEk6OlVSTFJlcXVlc3Q+IHJlcXVlc3Qg
PSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShjb3BpZWRVUkxSZXF1ZXN0LmdldCgpKTsKLSAgICBy
ZXR1cm4gdG9BUEkocmVxdWVzdC5yZWxlYXNlKCkubGVha1JlZigpKTsKKyAgICByZXR1cm4gdG9B
UEkoJkFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKGNvcGllZFVSTFJlcXVlc3QuZ2V0KCkpLmxlYWtS
ZWYoKSk7CiB9CiAKIE5TVVJMUmVxdWVzdCogV0tVUkxSZXF1ZXN0Q29weU5TVVJMUmVxdWVzdChX
S1VSTFJlcXVlc3RSZWYgdXJsUmVxdWVzdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvYy9tYWMvV0tVUkxSZXNwb25zZU5TLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSS9jL21hYy9XS1VSTFJlc3BvbnNlTlMubW0KaW5kZXggODcyMTFlNjQ5MWU1ZTJkZmFhNmY4
MWQzODcyMTM5OGMzZjY2NWJlYS4uODkyMTg1OTQwZjdhZGYwY2JiY2RjMWY5YmVlOWQwY2FlMGFj
NDRhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS1VSTFJl
c3BvbnNlTlMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS1VSTFJl
c3BvbnNlTlMubW0KQEAgLTM0LDggKzM0LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIFdL
VVJMUmVzcG9uc2VSZWYgV0tVUkxSZXNwb25zZUNyZWF0ZVdpdGhOU1VSTFJlc3BvbnNlKE5TVVJM
UmVzcG9uc2UqIHVybFJlc3BvbnNlKQogewogICAgIFJldGFpblB0cjxOU1VSTFJlc3BvbnNlPiBj
b3BpZWRVUkxSZXNwb25zZSA9IGFkb3B0TlMoW3VybFJlc3BvbnNlIGNvcHldKTsKLSAgICBSZWZQ
dHI8QVBJOjpVUkxSZXNwb25zZT4gcmVzcG9uc2UgPSBBUEk6OlVSTFJlc3BvbnNlOjpjcmVhdGUo
Y29waWVkVVJMUmVzcG9uc2UuZ2V0KCkpOwotICAgIHJldHVybiB0b0FQSShyZXNwb25zZS5yZWxl
YXNlKCkubGVha1JlZigpKTsKKyAgICByZXR1cm4gdG9BUEkoJkFQSTo6VVJMUmVzcG9uc2U6OmNy
ZWF0ZShjb3BpZWRVUkxSZXNwb25zZS5nZXQoKSkubGVha1JlZigpKTsKIH0KIAogTlNVUkxSZXNw
b25zZSogV0tVUkxSZXNwb25zZUNvcHlOU1VSTFJlc3BvbnNlKFdLVVJMUmVzcG9uc2VSZWYgdXJs
UmVzcG9uc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tD
b250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3Bw
CmluZGV4IDU4MWQ5OTcyYWRlYjliNzc2ZDE3NmE2OTY5ZTIyZjg2MzA0N2NmNzQuLjU2M2VjMDFm
NjA1YmRlYWE5NjA3OGViNWQ3YThjZDdlNWRlNTBkYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCkBAIC0yMDMsNyArMjAzLDcgQEAgdm9pZCBXS0Nv
bnRleHRTZXREb3dubG9hZENsaWVudChXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgY29uc3QgV0tD
b250ZXh0RG93bmxvYWQKICAgICAgICAgICAgIGlmICghbV9jbGllbnQuZGlkUmVjZWl2ZVJlc3Bv
bnNlKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAgICAgbV9jbGllbnQuZGlk
UmVjZWl2ZVJlc3BvbnNlKHRvQVBJKHByb2Nlc3NQb29sKSwgdG9BUEkoZG93bmxvYWRQcm94eSks
IHRvQVBJKEFQSTo6VVJMUmVzcG9uc2U6OmNyZWF0ZShyZXNwb25zZSkuZ2V0KCkpLCBtX2NsaWVu
dC5iYXNlLmNsaWVudEluZm8pOworICAgICAgICAgICAgbV9jbGllbnQuZGlkUmVjZWl2ZVJlc3Bv
bnNlKHRvQVBJKHByb2Nlc3NQb29sKSwgdG9BUEkoZG93bmxvYWRQcm94eSksIHRvQVBJKEFQSTo6
VVJMUmVzcG9uc2U6OmNyZWF0ZShyZXNwb25zZSkucHRyKCkpLCBtX2NsaWVudC5iYXNlLmNsaWVu
dEluZm8pOwogICAgICAgICB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRh
KFdlYlByb2Nlc3NQb29sKiBwcm9jZXNzUG9vbCwgRG93bmxvYWRQcm94eSogZG93bmxvYWRQcm94
eSwgdWludDY0X3QgbGVuZ3RoKSBvdmVycmlkZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLRG93bmxvYWQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLRG93bmxvYWQuY3BwCmluZGV4IGJlYjgyOWIzZWJjZTE5MjNjMzY4NDVmZWZkNTY2
MDNkYjc3MWUxYTIuLjcwNWNmZjBiM2IwNWJkYTg1MTViODZjMzE0MjJlNDU3MDUxZTBhOTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Rvd25sb2FkLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tEb3dubG9hZC5jcHAKQEAgLTQ1
LDcgKzQ1LDcgQEAgdWludDY0X3QgV0tEb3dubG9hZEdldElEKFdLRG93bmxvYWRSZWYgZG93bmxv
YWQpCiAKIFdLVVJMUmVxdWVzdFJlZiBXS0Rvd25sb2FkQ29weVJlcXVlc3QoV0tEb3dubG9hZFJl
ZiBkb3dubG9hZCkKIHsKLSAgICByZXR1cm4gdG9BUEkoQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUo
dG9JbXBsKGRvd25sb2FkKS0+cmVxdWVzdCgpKS5sZWFrUmVmKCkpOworICAgIHJldHVybiB0b0FQ
SSgmQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUodG9JbXBsKGRvd25sb2FkKS0+cmVxdWVzdCgpKS5s
ZWFrUmVmKCkpOwogfQogCiBXS0RhdGFSZWYgV0tEb3dubG9hZEdldFJlc3VtZURhdGEoV0tEb3du
bG9hZFJlZiBkb3dubG9hZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS05hdmlnYXRpb25EYXRhUmVmLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS05hdmlnYXRpb25EYXRhUmVmLmNwcAppbmRleCA4Njg0MGUzM2UzNDJjY2VjYjRjNDRl
ZTUzMjU4ODYxZGYxNjZjYzk3Li4wYTgxNWJiODI3ZTZmMTI0ZmZhNDlmZGZmNjEwNTFlMzkwNmY2
NmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXZpZ2F0
aW9uRGF0YVJlZi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTmF2
aWdhdGlvbkRhdGFSZWYuY3BwCkBAIC01NSw1ICs1NSw1IEBAIFdLVVJMUmVmIFdLTmF2aWdhdGlv
bkRhdGFDb3B5TmF2aWdhdGlvbkRlc3RpbmF0aW9uVVJMKFdLTmF2aWdhdGlvbkRhdGFSZWYgbmF2
aWdhCiAKIFdLVVJMUmVxdWVzdFJlZiBXS05hdmlnYXRpb25EYXRhQ29weU9yaWdpbmFsUmVxdWVz
dChXS05hdmlnYXRpb25EYXRhUmVmIG5hdmlnYXRpb25EYXRhKQogewotICAgIHJldHVybiB0b0FQ
SShBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZSh0b0ltcGwobmF2aWdhdGlvbkRhdGEpLT5vcmlnaW5h
bFJlcXVlc3QoKSkubGVha1JlZigpKTsKKyAgICByZXR1cm4gdG9BUEkoJkFQSTo6VVJMUmVxdWVz
dDo6Y3JlYXRlKHRvSW1wbChuYXZpZ2F0aW9uRGF0YSktPm9yaWdpbmFsUmVxdWVzdCgpKS5sZWFr
UmVmKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAppbmRl
eCAyN2Q4YTEyMDAwZjUzYmIwZTM5ZGY3MThiMDNiNDI2MWMwNGI4ZTA3Li45ZGI1MTNkZTFmOTNh
ODUzNGY2NDE1MTFjYjhmNjExMmZhOGQ2YTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlLmNwcApAQCAtMTI1NywxNSArMTI1NywxNSBAQCB2b2lkIFdLUGFnZVNldFBh
Z2VQb2xpY3lDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZVBvbGljeUNsaWVu
dEJhc2UqCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogCi0gICAgICAg
ICAgICBSZWZQdHI8QVBJOjpVUkxSZXF1ZXN0PiBvcmlnaW5hbFJlcXVlc3QgPSBBUEk6OlVSTFJl
cXVlc3Q6OmNyZWF0ZShvcmlnaW5hbFJlc291cmNlUmVxdWVzdCk7Ci0gICAgICAgICAgICBSZWZQ
dHI8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVz
b3VyY2VSZXF1ZXN0KTsKKyAgICAgICAgICAgIFJlZjxBUEk6OlVSTFJlcXVlc3Q+IG9yaWdpbmFs
UmVxdWVzdCA9IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKG9yaWdpbmFsUmVzb3VyY2VSZXF1ZXN0
KTsKKyAgICAgICAgICAgIFJlZjxBUEk6OlVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBBUEk6OlVSTFJl
cXVlc3Q6OmNyZWF0ZShyZXNvdXJjZVJlcXVlc3QpOwogCiAgICAgICAgICAgICBpZiAobV9jbGll
bnQuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbl9kZXByZWNhdGVkRm9yVXNlV2l0aFYw
KQotICAgICAgICAgICAgICAgIG1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b25fZGVwcmVjYXRlZEZvclVzZVdpdGhWMCh0b0FQSSgmcGFnZSksIHRvQVBJKGZyYW1lKSwgdG9B
UEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubmF2aWdhdGlvblR5cGUpLCB0b0FQSShuYXZpZ2F0aW9u
QWN0aW9uRGF0YS5tb2RpZmllcnMpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5tb3VzZUJ1
dHRvbiksIHRvQVBJKHJlcXVlc3QuZ2V0KCkpLCB0b0FQSShsaXN0ZW5lci5wdHIoKSksIHRvQVBJ
KHVzZXJEYXRhKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgICAgICAgICBt
X2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uX2RlcHJlY2F0ZWRGb3JVc2VX
aXRoVjAodG9BUEkoJnBhZ2UpLCB0b0FQSShmcmFtZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25E
YXRhLm5hdmlnYXRpb25UeXBlKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW9kaWZpZXJz
KSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW91c2VCdXR0b24pLCB0b0FQSShyZXF1ZXN0
LnB0cigpKSwgdG9BUEkobGlzdGVuZXIucHRyKCkpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50
LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgICAgICAgICBlbHNlIGlmIChtX2NsaWVudC5kZWNpZGVQ
b2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjEpCi0gICAgICAg
ICAgICAgICAgbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbl9kZXByZWNh
dGVkRm9yVXNlV2l0aFYxKHRvQVBJKCZwYWdlKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShuYXZpZ2F0
aW9uQWN0aW9uRGF0YS5uYXZpZ2F0aW9uVHlwZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRh
Lm1vZGlmaWVycyksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vdXNlQnV0dG9uKSwgdG9B
UEkob3JpZ2luYXRpbmdGcmFtZSksIHRvQVBJKHJlcXVlc3QuZ2V0KCkpLCB0b0FQSShsaXN0ZW5l
ci5wdHIoKSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAg
ICAgICAgICAgICAgICBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uX2Rl
cHJlY2F0ZWRGb3JVc2VXaXRoVjEodG9BUEkoJnBhZ2UpLCB0b0FQSShmcmFtZSksIHRvQVBJKG5h
dmlnYXRpb25BY3Rpb25EYXRhLm5hdmlnYXRpb25UeXBlKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlv
bkRhdGEubW9kaWZpZXJzKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW91c2VCdXR0b24p
LCB0b0FQSShvcmlnaW5hdGluZ0ZyYW1lKSwgdG9BUEkocmVxdWVzdC5wdHIoKSksIHRvQVBJKGxp
c3RlbmVyLnB0cigpKSwgdG9BUEkodXNlckRhdGEpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8p
OwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIG1fY2xpZW50LmRlY2lkZVBvbGlj
eUZvck5hdmlnYXRpb25BY3Rpb24odG9BUEkoJnBhZ2UpLCB0b0FQSShmcmFtZSksIHRvQVBJKG5h
dmlnYXRpb25BY3Rpb25EYXRhLm5hdmlnYXRpb25UeXBlKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlv
bkRhdGEubW9kaWZpZXJzKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW91c2VCdXR0b24p
LCB0b0FQSShvcmlnaW5hdGluZ0ZyYW1lKSwgdG9BUEkob3JpZ2luYWxSZXF1ZXN0LmdldCgpKSwg
dG9BUEkocmVxdWVzdC5nZXQoKSksIHRvQVBJKGxpc3RlbmVyLnB0cigpKSwgdG9BUEkodXNlckRh
dGEpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAgICAgICAgICAgIG1fY2xpZW50
LmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odG9BUEkoJnBhZ2UpLCB0b0FQSShmcmFt
ZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm5hdmlnYXRpb25UeXBlKSwgdG9BUEkobmF2
aWdhdGlvbkFjdGlvbkRhdGEubW9kaWZpZXJzKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEu
bW91c2VCdXR0b24pLCB0b0FQSShvcmlnaW5hdGluZ0ZyYW1lKSwgdG9BUEkob3JpZ2luYWxSZXF1
ZXN0LnB0cigpKSwgdG9BUEkocmVxdWVzdC5wdHIoKSksIHRvQVBJKGxpc3RlbmVyLnB0cigpKSwg
dG9BUEkodXNlckRhdGEpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogICAgICAgICB9CiAK
ICAgICAgICAgdmlydHVhbCB2b2lkIGRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbihXZWJQ
YWdlUHJveHkmIHBhZ2UsIFdlYkZyYW1lUHJveHkmIGZyYW1lLCBjb25zdCBOYXZpZ2F0aW9uQWN0
aW9uRGF0YSYgbmF2aWdhdGlvbkFjdGlvbkRhdGEsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVz
b3VyY2VSZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgUmVmPFdlYkZyYW1lUG9saWN5
TGlzdGVuZXJQcm94eT4mJiBsaXN0ZW5lciwgQVBJOjpPYmplY3QqIHVzZXJEYXRhKSBvdmVycmlk
ZQpAQCAtMTI3NSw5ICsxMjc1LDkgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlUG9saWN5Q2xpZW50KFdL
UGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VQb2xpY3lDbGllbnRCYXNlKgogICAgICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgUmVmUHRyPEFQSTo6
VVJMUmVxdWVzdD4gcmVxdWVzdCA9IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKHJlc291cmNlUmVx
dWVzdCk7CisgICAgICAgICAgICBSZWY8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpV
UkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKIAotICAgICAgICAgICAgbV9jbGll
bnQuZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKHRvQVBJKCZwYWdlKSwgdG9BUEkoJmZy
YW1lKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubmF2aWdhdGlvblR5cGUpLCB0b0FQSShu
YXZpZ2F0aW9uQWN0aW9uRGF0YS5tb2RpZmllcnMpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0
YS5tb3VzZUJ1dHRvbiksIHRvQVBJKHJlcXVlc3QuZ2V0KCkpLCB0b0FQSShmcmFtZU5hbWUuaW1w
bCgpKSwgdG9BUEkobGlzdGVuZXIucHRyKCkpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50LmJh
c2UuY2xpZW50SW5mbyk7CisgICAgICAgICAgICBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOZXdX
aW5kb3dBY3Rpb24odG9BUEkoJnBhZ2UpLCB0b0FQSSgmZnJhbWUpLCB0b0FQSShuYXZpZ2F0aW9u
QWN0aW9uRGF0YS5uYXZpZ2F0aW9uVHlwZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1v
ZGlmaWVycyksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vdXNlQnV0dG9uKSwgdG9BUEko
cmVxdWVzdC5wdHIoKSksIHRvQVBJKGZyYW1lTmFtZS5pbXBsKCkpLCB0b0FQSShsaXN0ZW5lci5w
dHIoKSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICAg
ICAgfQogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZWNpZGVQb2xpY3lGb3JSZXNwb25zZShXZWJQ
YWdlUHJveHkmIHBhZ2UsIFdlYkZyYW1lUHJveHkmIGZyYW1lLCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNvdXJjZVJlc3BvbnNlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVx
dWVzdCwgYm9vbCBjYW5TaG93TUlNRVR5cGUsIFJlZjxXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJv
eHk+JiYgbGlzdGVuZXIsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkgb3ZlcnJpZGUKQEAgLTEyODcs
MTMgKzEyODcsMTMgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlUG9saWN5Q2xpZW50KFdLUGFnZVJlZiBw
YWdlUmVmLCBjb25zdCBXS1BhZ2VQb2xpY3lDbGllbnRCYXNlKgogICAgICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgUmVmUHRyPEFQSTo6VVJMUmVzcG9u
c2U+IHJlc3BvbnNlID0gQVBJOjpVUkxSZXNwb25zZTo6Y3JlYXRlKHJlc291cmNlUmVzcG9uc2Up
OwotICAgICAgICAgICAgUmVmUHRyPEFQSTo6VVJMUmVxdWVzdD4gcmVxdWVzdCA9IEFQSTo6VVJM
UmVxdWVzdDo6Y3JlYXRlKHJlc291cmNlUmVxdWVzdCk7CisgICAgICAgICAgICBSZWY8QVBJOjpV
UkxSZXNwb25zZT4gcmVzcG9uc2UgPSBBUEk6OlVSTFJlc3BvbnNlOjpjcmVhdGUocmVzb3VyY2VS
ZXNwb25zZSk7CisgICAgICAgICAgICBSZWY8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJ
OjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKIAogICAgICAgICAgICAgaWYg
KG1fY2xpZW50LmRlY2lkZVBvbGljeUZvclJlc3BvbnNlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAp
Ci0gICAgICAgICAgICAgICAgbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VfZGVwcmVj
YXRlZEZvclVzZVdpdGhWMCh0b0FQSSgmcGFnZSksIHRvQVBJKCZmcmFtZSksIHRvQVBJKHJlc3Bv
bnNlLmdldCgpKSwgdG9BUEkocmVxdWVzdC5nZXQoKSksIHRvQVBJKGxpc3RlbmVyLnB0cigpKSwg
dG9BUEkodXNlckRhdGEpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAgICAgICAg
ICAgIG1fY2xpZW50LmRlY2lkZVBvbGljeUZvclJlc3BvbnNlX2RlcHJlY2F0ZWRGb3JVc2VXaXRo
VjAodG9BUEkoJnBhZ2UpLCB0b0FQSSgmZnJhbWUpLCB0b0FQSShyZXNwb25zZS5wdHIoKSksIHRv
QVBJKHJlcXVlc3QucHRyKCkpLCB0b0FQSShsaXN0ZW5lci5wdHIoKSksIHRvQVBJKHVzZXJEYXRh
KSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAg
ICAgICAgICBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JSZXNwb25zZSh0b0FQSSgmcGFnZSksIHRv
QVBJKCZmcmFtZSksIHRvQVBJKHJlc3BvbnNlLmdldCgpKSwgdG9BUEkocmVxdWVzdC5nZXQoKSks
IGNhblNob3dNSU1FVHlwZSwgdG9BUEkobGlzdGVuZXIucHRyKCkpLCB0b0FQSSh1c2VyRGF0YSks
IG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CisgICAgICAgICAgICAgICAgbV9jbGllbnQuZGVj
aWRlUG9saWN5Rm9yUmVzcG9uc2UodG9BUEkoJnBhZ2UpLCB0b0FQSSgmZnJhbWUpLCB0b0FQSShy
ZXNwb25zZS5wdHIoKSksIHRvQVBJKHJlcXVlc3QucHRyKCkpLCBjYW5TaG93TUlNRVR5cGUsIHRv
QVBJKGxpc3RlbmVyLnB0cigpKSwgdG9BUEkodXNlckRhdGEpLCBtX2NsaWVudC5iYXNlLmNsaWVu
dEluZm8pOwogICAgICAgICB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHVuYWJsZVRvSW1wbGVt
ZW50UG9saWN5KFdlYlBhZ2VQcm94eSYgcGFnZSwgV2ViRnJhbWVQcm94eSYgZnJhbWUsIGNvbnN0
IFJlc291cmNlRXJyb3ImIGVycm9yLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpIG92ZXJyaWRlCkBA
IC0xMzQ4LDggKzEzNDgsOCBAQCB2b2lkIFdLUGFnZVNldFBhZ2VVSUNsaWVudChXS1BhZ2VSZWYg
cGFnZVJlZiwgY29uc3QgV0tQYWdlVUlDbGllbnRCYXNlKiB3a0NsaWVudAogICAgICAgICAgICAg
aWYgKCFtX2NsaWVudC5iYXNlLnZlcnNpb24pCiAgICAgICAgICAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKHRvSW1wbChtX2NsaWVudC5jcmVhdGVOZXdQYWdlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAo
dG9BUEkocGFnZSksIHRvQVBJKGZlYXR1cmVzTWFwLnB0cigpKSwgdG9BUEkobmF2aWdhdGlvbkFj
dGlvbkRhdGEubW9kaWZpZXJzKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW91c2VCdXR0
b24pLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pKSk7CiAKLSAgICAgICAgICAgIFJlZlB0cjxB
UEk6OlVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShyZXNvdXJj
ZVJlcXVlc3QpOwotICAgICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKHRvSW1wbChtX2NsaWVudC5j
cmVhdGVOZXdQYWdlKHRvQVBJKHBhZ2UpLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgdG9BUEkoZmVh
dHVyZXNNYXAucHRyKCkpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5tb2RpZmllcnMpLCB0
b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5tb3VzZUJ1dHRvbiksIG1fY2xpZW50LmJhc2UuY2xp
ZW50SW5mbykpKTsKKyAgICAgICAgICAgIFJlZjxBUEk6OlVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBB
UEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShyZXNvdXJjZVJlcXVlc3QpOworICAgICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKHRvSW1wbChtX2NsaWVudC5jcmVhdGVOZXdQYWdlKHRvQVBJKHBhZ2UpLCB0
b0FQSShyZXF1ZXN0LnB0cigpKSwgdG9BUEkoZmVhdHVyZXNNYXAucHRyKCkpLCB0b0FQSShuYXZp
Z2F0aW9uQWN0aW9uRGF0YS5tb2RpZmllcnMpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5t
b3VzZUJ1dHRvbiksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbykpKTsKICAgICAgICAgfQogCiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBzaG93UGFnZShXZWJQYWdlUHJveHkqIHBhZ2UpIG92ZXJyaWRl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0
YXRlLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5t
bQppbmRleCAwYjBiZDc1ZGU2MDllOWJlYjExZTIzYzFhOTExZGRjOGE0NzYwZWQ5Li44NjI2MjUx
ZGQ5MzliYTUyMTM3ZmQ5NzE2NWUzYTBlMGE4ZjczOWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KQEAgLTI2NSw3ICsyNjUsNyBA
QCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNsaWVudDo6ZGVjaWRlUG9saWN5Rm9y
TmF2aWdhdGlvbkFjdGlvbihXZWJQYWdlUAogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgICAgIH0KIAotICAgICAgICAgICAgUmV0YWluUHRyPE5TVVJMUmVxdWVzdD4gbnNVUkxSZXF1
ZXN0ID0gYWRvcHROUyh3cmFwcGVyKCpBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShsb2NhbE5hdmln
YXRpb25BY3Rpb24tPnJlcXVlc3QoKSkubGVha1JlZigpKSk7CisgICAgICAgICAgICBSZXRhaW5Q
dHI8TlNVUkxSZXF1ZXN0PiBuc1VSTFJlcXVlc3QgPSBhZG9wdE5TKHdyYXBwZXIoQVBJOjpVUkxS
ZXF1ZXN0OjpjcmVhdGUobG9jYWxOYXZpZ2F0aW9uQWN0aW9uLT5yZXF1ZXN0KCkpLmxlYWtSZWYo
KSkpOwogICAgICAgICAgICAgaWYgKFtOU1VSTENvbm5lY3Rpb24gY2FuSGFuZGxlUmVxdWVzdDpu
c1VSTFJlcXVlc3QuZ2V0KCldKSB7CiAgICAgICAgICAgICAgICAgbG9jYWxMaXN0ZW5lci0+dXNl
KCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL3NvdXAvV2ViU291cEN1c3RvbVByb3Rv
Y29sUmVxdWVzdE1hbmFnZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05l
dHdvcmsvQ3VzdG9tUHJvdG9jb2xzL3NvdXAvV2ViU291cEN1c3RvbVByb3RvY29sUmVxdWVzdE1h
bmFnZXJDbGllbnQuY3BwCmluZGV4IDUwOTFhMjYyZjFjNDk0ZmQxYzcyY2U5ZTU0YTYwMzk5OTU1
ODhkMWYuLmM0ZGVmNjI4NzIyZDkxMGFjNGFmZjI1Y2ViNzM1NjJkNzNiZDdhMWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9zb3Vw
L1dlYlNvdXBDdXN0b21Qcm90b2NvbFJlcXVlc3RNYW5hZ2VyQ2xpZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvc291cC9XZWJTb3Vw
Q3VzdG9tUHJvdG9jb2xSZXF1ZXN0TWFuYWdlckNsaWVudC5jcHAKQEAgLTI5LDggKzI5LDggQEAg
Ym9vbCBXZWJTb3VwQ3VzdG9tUHJvdG9jb2xSZXF1ZXN0TWFuYWdlckNsaWVudDo6c3RhcnRMb2Fk
aW5nKFdlYlNvdXBDdXN0b21Qcm90b2MKICAgICBpZiAoIW1fY2xpZW50LnN0YXJ0TG9hZGluZykK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgUmVmUHRyPEFQSTo6VVJMUmVxdWVzdD4gdXJs
UmVxdWVzdCA9IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKHJlcXVlc3QpOwotICAgIG1fY2xpZW50
LnN0YXJ0TG9hZGluZyh0b0FQSShzb3VwUmVxdWVzdE1hbmFnZXIpLCBjdXN0b21Qcm90b2NvbElE
LCB0b0FQSSh1cmxSZXF1ZXN0LmdldCgpKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAg
ICBSZWY8QVBJOjpVUkxSZXF1ZXN0PiB1cmxSZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVh
dGUocmVxdWVzdCk7CisgICAgbV9jbGllbnQuc3RhcnRMb2FkaW5nKHRvQVBJKHNvdXBSZXF1ZXN0
TWFuYWdlciksIGN1c3RvbVByb3RvY29sSUQsIHRvQVBJKHVybFJlcXVlc3QucHRyKCkpLCBtX2Ns
aWVudC5iYXNlLmNsaWVudEluZm8pOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0
V2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9ndGsvV2ViS2l0V2ViUGFnZS5jcHAKaW5kZXggMTM4NWExY2I1ZjUyOTAwYjNjOTVkNWNmOTRh
YTYxNDA1ZWIzZDlhYy4uNzQ3MjYxOGY4YTgwZmIzZGI5YmNjMWYwNzQ4OTFhMTdkMDEwMjg4ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Z3RrL1dlYktpdFdlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJLaXRXZWJQYWdlLmNwcApAQCAtMjAzLDE3ICsyMDMsMTcg
QEAgc3RhdGljIFdLVVJMUmVxdWVzdFJlZiB3aWxsU2VuZFJlcXVlc3RGb3JGcmFtZShXS0J1bmRs
ZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmEKICAgICBSZXNvdXJjZVJlcXVlc3QgcmVzb3VyY2VS
ZXF1ZXN0OwogICAgIHdlYmtpdFVSSVJlcXVlc3RHZXRSZXNvdXJjZVJlcXVlc3QocmVxdWVzdC5n
ZXQoKSwgcmVzb3VyY2VSZXF1ZXN0KTsKICAgICByZXNvdXJjZVJlcXVlc3Quc2V0SW5pdGlhdGlu
Z1BhZ2VJRCh0b0ltcGwocGFnZSktPnBhZ2VJRCgpKTsKLSAgICBSZWZQdHI8QVBJOjpVUkxSZXF1
ZXN0PiBuZXdSZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0
KTsKKyAgICBSZWY8QVBJOjpVUkxSZXF1ZXN0PiBuZXdSZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0
OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKIAogICAgIEFQSTo6RGljdGlvbmFyeTo6TWFwVHlw
ZSBtZXNzYWdlOwogICAgIG1lc3NhZ2Uuc2V0KFN0cmluZzo6ZnJvbVVURjgoIlBhZ2UiKSwgdG9J
bXBsKHBhZ2UpKTsKICAgICBtZXNzYWdlLnNldChTdHJpbmc6OmZyb21VVEY4KCJJZGVudGlmaWVy
IiksIEFQSTo6VUludDY0OjpjcmVhdGUoaWRlbnRpZmllcikpOwotICAgIG1lc3NhZ2Uuc2V0KFN0
cmluZzo6ZnJvbVVURjgoIlJlcXVlc3QiKSwgbmV3UmVxdWVzdC5nZXQoKSk7CisgICAgbWVzc2Fn
ZS5zZXQoU3RyaW5nOjpmcm9tVVRGOCgiUmVxdWVzdCIpLCBuZXdSZXF1ZXN0LnB0cigpKTsKICAg
ICBpZiAoIXJlZGlyZWN0UmVzb3VyY2VSZXNwb25zZS5pc051bGwoKSkKICAgICAgICAgbWVzc2Fn
ZS5zZXQoU3RyaW5nOjpmcm9tVVRGOCgiUmVkaXJlY3RSZXNwb25zZSIpLCB0b0ltcGwod2tSZWRp
cmVjdFJlc3BvbnNlKSk7CiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuaW5qZWN0ZWRCdW5k
bGUoKS0+cG9zdE1lc3NhZ2UoU3RyaW5nOjpmcm9tVVRGOCgiV2ViUGFnZS5EaWRTZW5kUmVxdWVz
dEZvclJlc291cmNlIiksIEFQSTo6RGljdGlvbmFyeTo6Y3JlYXRlKFdURjo6bW92ZShtZXNzYWdl
KSkucHRyKCkpOwogCi0gICAgcmV0dXJuIHRvQVBJKG5ld1JlcXVlc3QucmVsZWFzZSgpLmxlYWtS
ZWYoKSk7CisgICAgcmV0dXJuIHRvQVBJKCZuZXdSZXF1ZXN0LmxlYWtSZWYoKSk7CiB9CiAKIHN0
YXRpYyB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZUZvclJlc291cmNlKFdLQnVuZGxlUGFnZVJlZiBw
YWdlLCBXS0J1bmRsZUZyYW1lUmVmLCB1aW50NjRfdCBpZGVudGlmaWVyLCBXS1VSTFJlc3BvbnNl
UmVmIHJlc3BvbnNlLCBjb25zdCB2b2lkKikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlUG9saWN5Q2xpZW50LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGVQYWdlUG9saWN5Q2xpZW50LmNwcAppbmRleCAwZTExZmJmZTM4NjU4YWZkMWY1YzU0ZjZmZGU2
ZDdmMGUwNzVhOWZhLi4yY2I5NzdjZDgyYjNhZTMwNDAxNDgxMTQ2ODEzNmViNjllMzZhMzg0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVj
dGVkQnVuZGxlUGFnZVBvbGljeUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VQb2xpY3lDbGllbnQuY3BwCkBA
IC00MiwxMCArNDIsMTAgQEAgV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uIEluamVjdGVkQnVuZGxl
UGFnZVBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGkKICAgICBpZiAoIW1fY2xp
ZW50LmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pCiAgICAgICAgIHJldHVybiBXS0J1
bmRsZVBhZ2VQb2xpY3lBY3Rpb25QYXNzVGhyb3VnaDsKIAotICAgIFJlZlB0cjxBUEk6OlVSTFJl
cXVlc3Q+IHJlcXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShyZXNvdXJjZVJlcXVlc3Qp
OworICAgIFJlZjxBUEk6OlVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNy
ZWF0ZShyZXNvdXJjZVJlcXVlc3QpOwogCiAgICAgV0tUeXBlUmVmIHVzZXJEYXRhVG9QYXNzID0g
MDsKLSAgICBXS0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb24gcG9saWN5ID0gbV9jbGllbnQuZGVjaWRl
UG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbih0b0FQSShwYWdlKSwgdG9BUEkoZnJhbWUpLCB0b0FQ
SShhY3Rpb24pLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgJnVzZXJEYXRhVG9QYXNzLCBtX2NsaWVu
dC5iYXNlLmNsaWVudEluZm8pOworICAgIFdLQnVuZGxlUGFnZVBvbGljeUFjdGlvbiBwb2xpY3kg
PSBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKHRvQVBJKHBhZ2UpLCB0
b0FQSShmcmFtZSksIHRvQVBJKGFjdGlvbiksIHRvQVBJKHJlcXVlc3QucHRyKCkpLCAmdXNlckRh
dGFUb1Bhc3MsIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgdXNlckRhdGEgPSBhZG9w
dFJlZih0b0ltcGwodXNlckRhdGFUb1Bhc3MpKTsKICAgICByZXR1cm4gcG9saWN5OwogfQpAQCAt
NTUsMTAgKzU1LDEwIEBAIFdLQnVuZGxlUGFnZVBvbGljeUFjdGlvbiBJbmplY3RlZEJ1bmRsZVBh
Z2VQb2xpY3lDbGllbnQ6OmRlY2lkZVBvbGljeUZvck5ld1dpbmRvCiAgICAgaWYgKCFtX2NsaWVu
dC5kZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24pCiAgICAgICAgIHJldHVybiBXS0J1bmRs
ZVBhZ2VQb2xpY3lBY3Rpb25QYXNzVGhyb3VnaDsKIAotICAgIFJlZlB0cjxBUEk6OlVSTFJlcXVl
c3Q+IHJlcXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShyZXNvdXJjZVJlcXVlc3QpOwor
ICAgIFJlZjxBUEk6OlVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0
ZShyZXNvdXJjZVJlcXVlc3QpOwogCiAgICAgV0tUeXBlUmVmIHVzZXJEYXRhVG9QYXNzID0gMDsK
LSAgICBXS0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb24gcG9saWN5ID0gbV9jbGllbnQuZGVjaWRlUG9s
aWN5Rm9yTmV3V2luZG93QWN0aW9uKHRvQVBJKHBhZ2UpLCB0b0FQSShmcmFtZSksIHRvQVBJKGFj
dGlvbiksIHRvQVBJKHJlcXVlc3QuZ2V0KCkpLCB0b0FQSShmcmFtZU5hbWUuaW1wbCgpKSwgJnVz
ZXJEYXRhVG9QYXNzLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgIFdLQnVuZGxlUGFn
ZVBvbGljeUFjdGlvbiBwb2xpY3kgPSBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dB
Y3Rpb24odG9BUEkocGFnZSksIHRvQVBJKGZyYW1lKSwgdG9BUEkoYWN0aW9uKSwgdG9BUEkocmVx
dWVzdC5wdHIoKSksIHRvQVBJKGZyYW1lTmFtZS5pbXBsKCkpLCAmdXNlckRhdGFUb1Bhc3MsIG1f
Y2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgdXNlckRhdGEgPSBhZG9wdFJlZih0b0ltcGwo
dXNlckRhdGFUb1Bhc3MpKTsKICAgICByZXR1cm4gcG9saWN5OwogfQpAQCAtNjgsMTEgKzY4LDEx
IEBAIFdLQnVuZGxlUGFnZVBvbGljeUFjdGlvbiBJbmplY3RlZEJ1bmRsZVBhZ2VQb2xpY3lDbGll
bnQ6OmRlY2lkZVBvbGljeUZvclJlc3BvbnNlCiAgICAgaWYgKCFtX2NsaWVudC5kZWNpZGVQb2xp
Y3lGb3JSZXNwb25zZSkKICAgICAgICAgcmV0dXJuIFdLQnVuZGxlUGFnZVBvbGljeUFjdGlvblBh
c3NUaHJvdWdoOwogCi0gICAgUmVmUHRyPEFQSTo6VVJMUmVzcG9uc2U+IHJlc3BvbnNlID0gQVBJ
OjpVUkxSZXNwb25zZTo6Y3JlYXRlKHJlc291cmNlUmVzcG9uc2UpOwotICAgIFJlZlB0cjxBUEk6
OlVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShyZXNvdXJjZVJl
cXVlc3QpOworICAgIFJlZjxBUEk6OlVSTFJlc3BvbnNlPiByZXNwb25zZSA9IEFQSTo6VVJMUmVz
cG9uc2U6OmNyZWF0ZShyZXNvdXJjZVJlc3BvbnNlKTsKKyAgICBSZWY8QVBJOjpVUkxSZXF1ZXN0
PiByZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKIAog
ICAgIFdLVHlwZVJlZiB1c2VyRGF0YVRvUGFzcyA9IDA7Ci0gICAgV0tCdW5kbGVQYWdlUG9saWN5
QWN0aW9uIHBvbGljeSA9IG1fY2xpZW50LmRlY2lkZVBvbGljeUZvclJlc3BvbnNlKHRvQVBJKHBh
Z2UpLCB0b0FQSShmcmFtZSksIHRvQVBJKHJlc3BvbnNlLmdldCgpKSwgdG9BUEkocmVxdWVzdC5n
ZXQoKSksICZ1c2VyRGF0YVRvUGFzcywgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICBX
S0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb24gcG9saWN5ID0gbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9y
UmVzcG9uc2UodG9BUEkocGFnZSksIHRvQVBJKGZyYW1lKSwgdG9BUEkocmVzcG9uc2UucHRyKCkp
LCB0b0FQSShyZXF1ZXN0LnB0cigpKSwgJnVzZXJEYXRhVG9QYXNzLCBtX2NsaWVudC5iYXNlLmNs
aWVudEluZm8pOwogICAgIHVzZXJEYXRhID0gYWRvcHRSZWYodG9JbXBsKHVzZXJEYXRhVG9QYXNz
KSk7CiAgICAgcmV0dXJuIHBvbGljeTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>