Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1npcQA-00079K-9G for pgsql-hackers@arkaria.postgresql.org; Fri, 13 May 2022 21:01:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1npcQ8-00040T-Mw for pgsql-hackers@arkaria.postgresql.org; Fri, 13 May 2022 21:01:56 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1npcQ8-00040K-0T for pgsql-hackers@lists.postgresql.org; Fri, 13 May 2022 21:01:56 +0000 Received: from mail-oa1-x2f.google.com ([2001:4860:4864:20::2f]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1npcQ0-0003bS-Q6 for pgsql-hackers@lists.postgresql.org; Fri, 13 May 2022 21:01:55 +0000 Received: by mail-oa1-x2f.google.com with SMTP id 586e51a60fabf-f16a3e0529so1682371fac.2 for ; Fri, 13 May 2022 14:01:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=z7OKJ3UY6UCU93jkCbitnFAsjJNZxWoF2+iwwtZr1e0=; b=KVp9EVjvRQWsO0897fYjnyP2BG8uDSo1MCOV1zbmyV3MZi3BKJYXHua8izjl7qwwiT b4gkqpLlQBHpeQ/hS/j2kT5Hh/4VZODIW0X/85CQg1fLD/CqPwxOGHoIeOOldybbEQdh RpZgJy/pGZgusfWO3K2PW92/nkldbLf9L7lgQmLb7BBmaGaj9fTwHluRMl57be+3/xGe zlDEUxH5Lm0TTck1JWmHEtge34LqArjq4Y4Bzf+GttTvxivyXsbawI0Tr0n7qh46Ydzu SkW+nS26Wv0J9Z2hMp6WykVvHMNIghFxqcpUzd25OApQL5XuSy/3sbnxu30zKoJKQR+D 6TfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=z7OKJ3UY6UCU93jkCbitnFAsjJNZxWoF2+iwwtZr1e0=; b=eM96qyojGVg2RVM8p0dYVIyePP/O4UqHMkelRIzsQ2erU3AlK6H1L981qAq33KX0Cl pptCUx51YLNapP+JYBBFamCvnbTQpCe+5J0z9fyaED6eOJy11EIYRkadLo6QWoxHYaox OsqgBaFqUoruwTI9JO38SwcSMCdoZoht1kV7ULMtWlzRASN1N4Cjk63HZGGC2/e3yAew rnj2oWgEJbz5HHdW96dXBnzpkrLmq7WXHS8QRkmbdraOZlp4sZKWJp7xLEVZHW/MK/rk pAFh6zMKcBMVugtEjtZuHL0Psn6IAl3J9kM+31Cyk4C+NvOuA4L8YbpULlydIX4yrgV4 P1Ng== X-Gm-Message-State: AOAM532+z+AxF8iTSdk2he5DY4oX1m+CBAO10c4XEi5wFnXpOGfSWiPv 3at77F9Yv3A5qGDG6YlilpTO1EVkMToGPJDhQHk= X-Google-Smtp-Source: ABdhPJysrXZ6CLHCdOkBPZq2Yx10Cdyq/PmjpqJ6HY+rWjBchI5aSVNbRNCoOTE2TpkkaBtpsBu4W8CXwYR5f+OioWQ= X-Received: by 2002:a05:6870:d1cd:b0:e1:e7ee:faa0 with SMTP id b13-20020a056870d1cd00b000e1e7eefaa0mr9160992oac.5.1652475706754; Fri, 13 May 2022 14:01:46 -0700 (PDT) MIME-Version: 1.0 References: <202203162206.7spggyktx63e@alvherre.pgsql> In-Reply-To: From: Zheng Li Date: Fri, 13 May 2022 17:01:33 -0400 Message-ID: Subject: Re: Support logical replication of DDLs To: Amit Kapila Cc: Japin Li , Alvaro Herrera , Dilip Kumar , rajesh singarapu , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="0000000000008260cd05deeafb8c" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000008260cd05deeafb8c Content-Type: text/plain; charset="UTF-8" > > 4. The handling related to partition tables seems missing because, on > > the subscriber-side, it always creates a relation entry in > > pg_subscription_rel which won't work. Check its interaction with > > publish_via_partition_root. > > I will test it out. Hi, patch 0010 properly handles partitioned table creation on the apply worker. Whether a replicated partitioned table should be added to pg_subscription_rel catalog depends on the setting of publish_via_partition_root of the publication. Thus we need to connect to the source DB and check if the partitioned table is in pg_catalog.pg_publication_tables after the apply worker creates the partitioned table. Thanks to Borui Yang for enabling and testing replication of DDL type T_RenameStmt in patch 0009. I've also rebased all the patches. Github branch of the same change can be found here: https://github.com/zli236/postgres/commits/ddl_replication Regards, Zheng --0000000000008260cd05deeafb8c Content-Type: application/octet-stream; name="0005-Support-replication-of-CREATE-.-AS-.-and-SELECT-.-IN.patch" Content-Disposition: attachment; filename="0005-Support-replication-of-CREATE-.-AS-.-and-SELECT-.-IN.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l34xb8t64 RnJvbSAxYjE0Y2M0M2ExNmEzYmQwMjk2ZjdiMTU2NDcwN2I5YWM0NGI5ZGU0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IFRodSwgMjQgTWFyIDIwMjIgMTc6NDY6NTUgKzAwMDAKU3ViamVjdDogW1BBVENIIDA1 LzEwXSBTdXBwb3J0IHJlcGxpY2F0aW9uIG9mIENSRUFURSAuLi4gQVMgLi4gYW5kIFNFTEVDVCAu Li4KIElOVE8gLi4uIHN0YXRlbWVudHMuCgpUaGUgaWRlYSBpcyB0byBmb3JjZSBza2lwcGluZyB0 aGUgZGlyZWN0IGRhdGEgcG9wdWxhdGlvbgood2hpY2ggY291bGQgcG90ZW50aWFsbHkgY2F1c2Ug ZGF0YSBtaXNtYXRjaCBjb21wYXJlZCB0byB0aGUgcHVibGlzaGVyKQp3aXRoIHRoZXNlIGNvbW1h bmQgb24gdGhlIHN1YnNjcmliZXIgYnkgZm9yY2Ugc2V0dGluZyB0aGUgc2tpcERhdGEgZmxhZwpp biB0aGUgaW50b0NsYXVzZSBvZiB0aGUgcGFyc2V0cmVlIGFmdGVyIHRoZSBsb2dpY2FsIHJlcGxp Y2F0aW9uIHdvcmtlcgpwYXJzZXMgdGhlIGNvbW1hbmQuIFRoZSBkYXRhIHN5bmMgd2lsbCBiZSB0 YWtlbiBjYXJlIG9mIGJ5IERNTCByZXBsaWNhdGlvbgphZnRlciB0aGUgcmVwbGljYXRpb24gb2Yg dGhlIERETCBjb21tYW5kLgotLS0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29y a2VyLmMgfCA1MSArKysrKysrKysrKysrKysrKysrKy0tLS0KIHNyYy9iYWNrZW5kL3Rjb3AvdXRp bGl0eS5jICAgICAgICAgICAgICAgfCA0MSArKysrKysrKysrKy0tLS0tLS0tCiBzcmMvdGVzdC9z dWJzY3JpcHRpb24vdC8wMzBfcmVwX2RkbHMucGwgIHwgMjQgKysrKysrKysrKysKIDMgZmlsZXMg Y2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYyBiL3NyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKaW5kZXggYzI1ZTNhNGNmZS4uOTA1ZjQ3ZmFmNSAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYworKysg Yi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCkBAIC0yNTQyLDIzICsy NTQyLDU4IEBAIGFwcGx5X2V4ZWN1dGVfc3FsX2NvbW1hbmQoY29uc3QgY2hhciAqY21kc3RyLCBj b25zdCBjaGFyICpyb2xlLCBjb25zdCBjaGFyICpzZWFyCiAJCVBvcnRhbAkJcG9ydGFsOwogCQlE ZXN0UmVjZWl2ZXIgKnJlY2VpdmVyOwogCQlib29sCQkgc25hcHNob3Rfc2V0ID0gZmFsc2U7Ci0J CWNoYXIgCQkgKnNjaGVtYW5hbWUgPSBOVUxMOyAvKiBGb3IgQ1JFQVRFIFRBQkxFIHN0bXQgb25s eSAqLwotCQljaGFyCQkgKnJlbG5hbWUgPSBOVUxMOyAvKiBGb3IgQ1JFQVRFIFRBQkxFIHN0bXQg b25seSAqLworCQljaGFyIAkJICpzY2hlbWFuYW1lID0gTlVMTDsgLyogRm9yIENSRUFURSBUQUJM RSBhbmQgQ1JFQVRFIFRBQkxFIEFTIHN0bXQgb25seSAqLworCQljaGFyCQkgKnJlbG5hbWUgPSBO VUxMOyAvKiBGb3IgQ1JFQVRFIFRBQkxFIGFuZCBDUkVBVEUgVEFCTEUgQVMgc3RtdCBvbmx5ICov CiAKIAkJY29tbWFuZFRhZyA9IENyZWF0ZUNvbW1hbmRUYWcoKE5vZGUgKiljb21tYW5kKTsKIAog CQkvKgotCQkgKiBSZW1lbWJlciB0aGUgc2NoZW1hbmFtZSBhbmQgcmVsbmFtZSBpZiBpdCdzIGEg Q1JFQVRFIFRBQkxFIHN0bXQKKwkJICogUmVtZW1iZXIgdGhlIHNjaGVtYW5hbWUgYW5kIHJlbG5h bWUgaWYgdGhlIGNtZCBpcyBnb2luZyB0byBjcmVhdGUgYSB0YWJsZQogCQkgKiBiZWNhdXNlIHdl IHdpbGwgbmVlZCB0aGVtIGZvciBzb21lIHBvc3QtcHJvY2Vzc2luZyBhZnRlciB3ZQotCQkgKiBl eGVjdXRlIHRoZSBzdG10LiBBdCB0aGF0IHBvaW50LCBDcmVhdGVTdG10IG1heSBoYXZlIGJlZW4g ZnJlZWVkIHVwLgorCQkgKiBleGVjdXRlIHRoZSBzdG10LiBBdCB0aGF0IHBvaW50LCBjb21tYW5k LT5zdG10IG1heSBoYXZlIGJlZW4gZnJlZWVkIHVwLgogCQkgKi8KIAkJaWYgKGNvbW1hbmRUYWcg PT0gQ01EVEFHX0NSRUFURV9UQUJMRSkKIAkJewotCQkJQ3JlYXRlU3RtdCAqY3N0bXQgPSAoQ3Jl YXRlU3RtdCAqKWNvbW1hbmQtPnN0bXQ7CisJCQlDcmVhdGVTdG10ICpjc3RtdCA9IChDcmVhdGVT dG10ICopIGNvbW1hbmQtPnN0bXQ7CiAJCQlSYW5nZVZhciAqcnYgPSBjc3RtdC0+cmVsYXRpb247 CiAJCQlzY2hlbWFuYW1lID0gcnYtPnNjaGVtYW5hbWU7CiAJCQlyZWxuYW1lID0gcnYtPnJlbG5h bWU7CiAJCX0KKwkJZWxzZSBpZiAoY29tbWFuZFRhZyA9PSBDTURUQUdfQ1JFQVRFX1RBQkxFX0FT KQorCQl7CisJCQlDcmVhdGVUYWJsZUFzU3RtdCAqY2FzdG10ID0gKENyZWF0ZVRhYmxlQXNTdG10 ICopIGNvbW1hbmQtPnN0bXQ7CisKKwkJCWlmIChjYXN0bXQtPm9ianR5cGUgPT0gT0JKRUNUX1RB QkxFKQorCQkJeworCQkJCVJhbmdlVmFyICpydiA9IGNhc3RtdC0+aW50by0+cmVsOworCQkJCXNj aGVtYW5hbWUgPSBydi0+c2NoZW1hbmFtZTsKKwkJCQlyZWxuYW1lID0gcnYtPnJlbG5hbWU7CisK KwkJCQkvKgorCQkJCSAqIEZvcmNlIHNraXBwaW5nIGRhdGEgcG9wdWxhdGlvbiB0byBhdm9pZCBk YXRhIGluY29uc2lzdGVuY3kuCisJCQkJICogRGF0YSBzaG91bGQgYmUgcmVwbGljYXRlZCBmcm9t IHRoZSBwdWJsaXNoZXIgaW5zdGVhZC4KKwkJCQkgKi8KKwkJCQljYXN0bXQtPmludG8tPnNraXBE YXRhID0gdHJ1ZTsKKwkJCX0KKwkJfQorCQkvKiBTRUxFQ1QgSU5UTyAqLworCQllbHNlIGlmIChj b21tYW5kVGFnID09IENNRFRBR19TRUxFQ1QpCisJCXsKKwkJCVNlbGVjdFN0bXQgKnNzdG10ID0g KFNlbGVjdFN0bXQgKikgY29tbWFuZC0+c3RtdDsKKworCQkJaWYgKHNzdG10LT5pbnRvQ2xhdXNl ICE9IE5VTEwpCisJCQl7CisJCQkJUmFuZ2VWYXIgKnJ2ID0gc3N0bXQtPmludG9DbGF1c2UtPnJl bDsKKwkJCQlzY2hlbWFuYW1lID0gcnYtPnNjaGVtYW5hbWU7CisJCQkJcmVsbmFtZSA9IHJ2LT5y ZWxuYW1lOworCisJCQkJLyoKKwkJCQkgKiBGb3JjZSBza2lwcGluZyBkYXRhIHBvcHVsYXRpb24g dG8gYXZvaWQgZGF0YSBpbmNvbnNpc3RlbmN5LgorCQkJCSAqIERhdGEgc2hvdWxkIGJlIHJlcGxp Y2F0ZWQgZnJvbSB0aGUgcHVibGlzaGVyIGluc3RlYWQuCisJCQkJICovCisJCQkJc3N0bXQtPmlu dG9DbGF1c2UtPnNraXBEYXRhID0gdHJ1ZTsKKwkJCX0KKwkJfQogCiAJCS8qCiAJCSAqIFNldCB1 cCBhIHNuYXBzaG90IGlmIHBhcnNlIGFuYWx5c2lzL3BsYW5uaW5nIHdpbGwgbmVlZCBvbmUuCkBA IC0yNjU3LDEyICsyNjkyLDEyIEBAIGFwcGx5X2V4ZWN1dGVfc3FsX2NvbW1hbmQoY29uc3QgY2hh ciAqY21kc3RyLCBjb25zdCBjaGFyICpyb2xlLCBjb25zdCBjaGFyICpzZWFyCiAJCSAqIFRhYmxl IGNyZWF0ZWQgYnkgRERMIHJlcGxpY2F0aW9uIChkYXRhYmFzZSBsZXZlbCkgaXMgYXV0b21hdGlj YWxseQogCQkgKiBhZGRlZCB0byB0aGUgc3Vic2NyaXB0aW9uIGhlcmUuCiAJCSAqCi0JCSAqIENh bGwgQWRkU3Vic2NyaXB0aW9uUmVsU3RhdGUgZm9yIENSRUFURSBUQUJFTCBjb21tYW5kIHRvIHNl dAotCQkgKiB0aGUgcmVsc3RhdGUgdG8gU1VCUkVMX1NUQVRFX0lOSVQgc28gRE1MIGNoYW5nZXMg b24gdGhpcworCQkgKiBDYWxsIEFkZFN1YnNjcmlwdGlvblJlbFN0YXRlIGZvciBDUkVBVEUgVEFC RUwgYW5kIENSRUFURSBUQUJMRSBBUworCQkgKiBjb21tYW5kIHRvIHNldCB0aGUgcmVsc3RhdGUg dG8gU1VCUkVMX1NUQVRFX0lOSVQgc28gRE1MIGNoYW5nZXMgb24gdGhpcwogCQkgKiBuZXcgdGFi bGUgY2FuIGJlIHJlcGxpY2F0ZWQgd2l0aG91dCBoYXZpbmcgdG8gbWFudWFsbHkgcnVuCiAJCSAq ICJhbHRlciBzdWJzY3JpcHRpb24gLi4uIHJlZnJlc2ggcHVibGljYXRpb24iCiAJCSAqLwotCQlp ZiAoY29tbWFuZFRhZyA9PSBDTURUQUdfQ1JFQVRFX1RBQkxFKQorCQlpZiAocmVsbmFtZSAhPSBO VUxMKQogCQl7CiAJCQlPaWQgcmVsaWQ7CiAJCQlPaWQgcmVsbmFtZXNwYWNlID0gSW52YWxpZE9p ZDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jIGIvc3JjL2JhY2tlbmQv dGNvcC91dGlsaXR5LmMKaW5kZXggZmRkYTEzODVjMy4uMzRjN2RiOGNjOSAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKKysrIGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5 LmMKQEAgLTExNDIsMjQgKzExNDIsMzEgQEAgTG9nTG9naWNhbERETENvbW1hbmQoTm9kZSAqcGFy c2V0cmVlLCBjb25zdCBjaGFyICpxdWVyeVN0cmluZykKIAogCQkvKgogCQkgKiBDcmVhdGVUYWJs ZUFzU3RtdCBjYW4gY3JlYXRlIGVpdGhlciBhIHRhYmxlIGEgbWF0ZXJpYWxpemVkIHZpZXcKLQkJ ICogYW5kIHRoZXkgYXJlIGhhbmRsZWQgZGlmZmVyZW50bHkuCiAJCSAqLwogCQljYXNlIFRfQ3Jl YXRlVGFibGVBc1N0bXQ6CiAJCXsKIAkJCUNyZWF0ZVRhYmxlQXNTdG10ICpzdG10ID0gKENyZWF0 ZVRhYmxlQXNTdG10ICopIHBhcnNldHJlZTsKKwogCQkJc3dpdGNoKHN0bXQtPm9ianR5cGUpCiAJ CQl7CisJCQkJLyoKKwkJCQkgKiBFaXRoZXIgQ1JFQVRFIFRBQkxFIEFTIG9yIFNFTEVDVCAuLi4g SU5UTyBzdG10CisJCQkJICogVGhlIHN0YXRlbWVudCBpcyBsb2dnZWQgYXMgaXMsIGJ1dCB3aGVu IHdlIGFwcGx5IHRoZQorCQkJCSAqIENSRUFURSBUQUJMRSBBUyBvciBTRUxFQ1QgLi4uIElOVE8g c3RhdGVtdG5zIG9uIHRoZSBsb2dpY2FsCisJCQkJICogcmVwbGljYXRpb24gd29ya2VyLCB3ZSB3 aWxsIGZvcmNlIHRoZSBza2lwRGF0YSBmbGFnIGluIHRoZQorCQkJCSAqIGludG9DbGF1c2UuIFRo aXMgd2F5IHdlIGF2b2lkIGRpcmVjdCBkYXRhIHBvcHVsYXRpb24gb24gdGhlCisJCQkJICogc3Vi c3JpYmVyIHdpdGggdGhlIGV4ZWN1dGlvbiBvZiB0aGVzZSBjb21tYW5kcyB3aGljaCBjYW4KKwkJ CQkgKiBwb3RlbnRpYWxseSBjYXVzZSBkYXRhIG1pc21hdGNoIGJld3RlZW4gdGhlIHB1Ymxpc2hl ci4KKwkJCQkgKgorCQkJCSAqIFRoZSBkYXRhIHN5bmMgd2lsbCBiZSBoYW5kbGVkIGJ5IERNTCBy ZXBsaWNhdGlvbiBhZnRlciB0aGUKKwkJCQkgKiB0YXJnZXQgdGFibGUgaGFzIGJlZW4gY3JlYXRl ZC4KKwkJCQkgKi8KIAkJCQljYXNlIE9CSkVDVF9UQUJMRToKLQkJCQkJLyoKLQkJCQkJICogRklY TUUgQ1JFQVRFIFRBQkxFIEFTIHN0bXQgbmVlZHMgdG8gYmUgYnJva2VuIGRvd24gaW50byB0d28g cGFydHMKLQkJCQkJICogMS4gQSBub3JtYWwgQ1JFQVRFIFRBQkxFIHN0cmluZyB0aGF0IGdldCdz IGxvZ2dlZCBhbmQgcmVwbGljYXRlZCB2aWEKLQkJCQkJICoJICBEREwgcmVwbGljYXRpb24uCi0J CQkJCSAqIDIuIEluc2VydGlvbnMgdGhhdCBnZXQgcmVwbGljYXRlZCBieSBETUwgcmVwbGljYXRp b24uCi0JCQkJCSAqLwotCQkJCQlicmVhazsKKworCQkJCS8qIENSRUFURSBNQVRFUklBTElaRUQg VklFVyAqLwogCQkJCWNhc2UgT0JKRUNUX01BVFZJRVc6CiAJCQkJCS8qCi0JCQkJCSAqIExvZyBD UkVBVEUgTUFURVJJQUxJWkVEIFZJRVcgQVMgc3RtdCBmb3IgbG9naWNhbCByZXBsaWNhdGlvbiBp ZgorCQkJCQkgKiBMb2cgdGhlc2Ugc3RtdCBmb3IgbG9naWNhbCByZXBsaWNhdGlvbiBpZgogCQkJ CQkgKiB0aGVyZSBpcyBhbnkgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRpb24gd2l0aCBwdWJkZGxf ZGF0YWJhc2Ugb24uCiAJCQkJCSAqIGkuZS4gRGF0YWJhc2UgbGV2ZWwgRERMIHJlcGxpY2F0aW9u IGlzIG9uIGZvciBzb21lIHB1YmxpY2F0aW9uLgogCQkJCQkgKi8KQEAgLTEzMDQsOCArMTMxMSwx NyBAQCBQcm9jZXNzVXRpbGl0eVNsb3coUGFyc2VTdGF0ZSAqcHN0YXRlLAogCVBHX1RSWSgpOwog CXsKIAkJaWYgKGlzQ29tcGxldGVRdWVyeSkKKwkJewogCQkJRXZlbnRUcmlnZ2VyRERMQ29tbWFu ZFN0YXJ0KHBhcnNldHJlZSk7CiAKKwkJCS8qCisJCQkgKiBDb25zaWRlciBsb2dnaW5nIHRoZSBE REwgY29tbWFuZCBpZiBsb2dpY2FsIGxvZ2dpbmcgaXMgZW5hYmxlZCBhbmQgdGhpcyBpcworCQkJ ICogYSBjb21wbGV0ZSB0b3AgbGV2ZWwgcXVlcnkuCisJCQkgKi8KKwkJCWlmIChYTG9nTG9naWNh bEluZm9BY3RpdmUoKSAmJiBpc1RvcExldmVsKQorCQkJCUxvZ0xvZ2ljYWxERExDb21tYW5kKHBh cnNldHJlZSwgcXVlcnlTdHJpbmcpOworCQl9CisKIAkJc3dpdGNoIChub2RlVGFnKHBhcnNldHJl ZSkpCiAJCXsKIAkJCQkvKgpAQCAtMjEzNSwxMyArMjE1MSw2IEBAIFByb2Nlc3NVdGlsaXR5U2xv dyhQYXJzZVN0YXRlICpwc3RhdGUsCiAKIAkJaWYgKGlzQ29tcGxldGVRdWVyeSkKIAkJewotCQkJ LyoKLQkJCSAqIENvbnNpZGVyIGxvZ2dpbmcgdGhlIERETCBjb21tYW5kIGlmIGxvZ2ljYWwgbG9n Z2luZyBpcyBlbmFibGVkIGFuZCB0aGlzIGlzCi0JCQkgKiBhIGNvbXBsZXRlIHRvcCBsZXZlbCBx dWVyeS4KLQkJCSAqLwotCQkJaWYgKFhMb2dMb2dpY2FsSW5mb0FjdGl2ZSgpICYmIGlzVG9wTGV2 ZWwpCi0JCQkJTG9nTG9naWNhbERETENvbW1hbmQocGFyc2V0cmVlLCBxdWVyeVN0cmluZyk7Ci0K IAkJCUV2ZW50VHJpZ2dlclNRTERyb3AocGFyc2V0cmVlKTsKIAkJCUV2ZW50VHJpZ2dlckRETENv bW1hbmRFbmQocGFyc2V0cmVlKTsKIAkJfQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qvc3Vic2NyaXB0 aW9uL3QvMDMwX3JlcF9kZGxzLnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9k ZGxzLnBsCmluZGV4IDU2MmVmZTJjZjcuLjNiMTVjNmQ5ZjAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBfZGRscy5wbAorKysgYi9zcmMvdGVzdC9zdWJzY3JpcHRp b24vdC8wMzBfcmVwX2RkbHMucGwKQEAgLTI0NCw2ICsyNDQsMzAgQEAgJG5vZGVfcHVibGlzaGVy LT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOwogJHJlc3VsdF9zdWIgPSAkbm9kZV9zdWJzY3Jp YmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBmcm9tIHMxLnZpZXcx OyIpOwogaXMoJHJlc3VsdCwgcXEoJHJlc3VsdF9zdWIpLCAnQ1JFQVRFIG9mIHMxLnZpZXcxIGlz IHJlcGxpY2F0ZWQnKTsKIAorIyBURVNUIENSRUFURSBUQUJMRSBBUyBzdG10Ciskbm9kZV9wdWJs aXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIFRBQkxFIHMxLnQzIEFTIFNFTEVD VCBhLCBiIGZyb20gczEudDE7Iik7CisKKyRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1 cCgnbXlzdWInKTsKKworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9z dGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIGZyb20gczEudDM7Iik7CitpcygkcmVzdWx0LCBxcSgy KSwgJ0NSRUFURSBUQUJMRSBzMS50MyBBUyBpcyByZXBsaWNhdGVkIHdpdGggZGF0YScpOworCisj IFRFU1QgQ1JFQVRFIFRBQkxFIEFTIHN0bXQgLi4uIFdJVEggTk8gREFUQQorJG5vZGVfcHVibGlz aGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBUQUJMRSBzMS50NCBBUyBTRUxFQ1Qg YSwgYiBmcm9tIHMxLnQxIFdJVEggTk8gREFUQTsiKTsKKworJG5vZGVfcHVibGlzaGVyLT53YWl0 X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgZnJvbSBzMS50NDsiKTsKK2lzKCRy ZXN1bHQsIHFxKDApLCAnQ1JFQVRFIFRBQkxFIHMxLnQ0IEFTIGlzIHJlcGxpY2F0ZWQgd2l0aCBu byBkYXRhJyk7CisKKyMgVEVTVCBTRUxFQ1QgSU5UTyBzdG10Ciskbm9kZV9wdWJsaXNoZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGIgaW50byBzMS50NiBmcm9tIHMxLnQxIHdoZXJl IGEgPiAxIik7CisKKyRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsK KworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VM RUNUIGNvdW50KCopIGZyb20gczEudDY7Iik7CitpcygkcmVzdWx0LCBxcSgxKSwgJ1NFTEVDVCBJ TlRPIHMxLnQ2IGlzIHJlcGxpY2F0ZWQgd2l0aCBkYXRhJyk7CisKICNUT0RPIFRFU1QgY2VydGFp biBERExzIGFyZSBub3QgcmVwbGljYXRlZAogCiBwYXNzICJEREwgcmVwbGljYXRpb24gdGVzdHMg cGFzc2VkISI7Ci0tIAoyLjMyLjAKCg== --0000000000008260cd05deeafb8c Content-Type: application/octet-stream; name="0002-Support-logical-logging-and-decoding-of-DDL-command-.patch" Content-Disposition: attachment; filename="0002-Support-logical-logging-and-decoding-of-DDL-command-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l34xb8t31 RnJvbSAzMTI4YzEyNWIwZDJiZWFjNDg3NGY4ZjQzM2ZlMmQ5OTE1ZmY4ZjZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IEZyaSwgMTggTWFyIDIwMjIgMTY6NTc6MjMgKzAwMDAKU3ViamVjdDogW1BBVENIIDAy LzEwXSBTdXBwb3J0IGxvZ2ljYWwgbG9nZ2luZyBhbmQgZGVjb2Rpbmcgb2YgRERMIGNvbW1hbmQK IHN0cmluZy4KTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCkEgbmV3IFdBTCByZWNv cmQgdHlwZSB4bF9sb2dpY2FsX2RkbF9tZXNzYWdlIGlzIGludHJvZHVjZWQgdG8Kc3VwcG9ydCBs b2dpY2FsIGxvZ2dpbmcgb2YgRERMIGNvbW1hbmQuIHhsX2xvZ2ljYWxfZGRsX21lc3NhZ2UgaXMK c2ltaWxhciB0byB0aGUgZXhpc3RpbmcgeGxfbG9naWNhbF9tZXNzYWdlIGZvciBnZW5lcmljIG1l c3NhZ2UKbG9nZ2luZy4gVGhlIHJlYXNvbiBmb3Igbm90IHVzaW5nIHhsX2xvZ2ljYWxfbWVzc2Fn ZSBkaXJlY3RseSBhcwpwcm9wb3NlZCBpbml0aWFsbHkgaXMgSSBmb3VuZCBvdXQgd2UgbmVlZCB0 byBsb2cgbW9yZSBpbmZvcm1hdGlvbgooc3VjaCBhcyB1c2VyIHJvbGUsIHNlYXJjaCBwYXRoIGFu ZCBwb3RlbnRpYWxseSBtb3JlIGluIHRoZSBmdXR1cmUpCnRoYW4ganVzdCBvbmUgc3RyaW5nLCBh bmQgd2UgZG9u4oCZdCB3YW50IHRvIG1ha2UgdG9vIG11Y2ggY2hhbmdlcyB0bwp0aGUgZXhpc3Rp bmcgeGxfbG9naWNhbF9tZXNzYWdlIHdoaWNoIG1heSBicmVhayBpdHMgY3VycmVudCBjb25zdW1l cnMuCgpUaGUgbG9nZ2luZyBvZiBEREwgY29tbWFuZCBzdHJpbmcgaXMgcHJvY2Vzc2VkIGluIGZ1 bmN0aW9uCkxvZ0xvZ2ljYWxERExDb21tYW5kLiBXZSBjYXRlZ29yaXplIERETCBjb21tYW5kIHR5 cGVzIGludG8gdGhyZWUKY2F0ZWdvcmllcyBpbiB0aGlzIGZ1bmN0aW9uOgoxLiByZXBsaWNhdGVk IGluIGRhdGFiYXNlIGxldmVsIHJlcGxpY2F0aW9uIG9ubHkgKHN1Y2ggYXMgQ1JFQVRFClRBQkxF LCBDUkVBVEUgRlVOQ1RJT04pLgoyLiByZXBsaWNhdGVkIGluIGRhdGFiYXNlIG9yIHRhYmxlIGxl dmVsIHJlcGxpY2F0aW9uIGRlcGVuZGluZyBvbgp0aGUgY29uZmlndXJhdGlvbiAoc3VjaCBhcyBB TFRFUiBUQUJMRSkuCjMuIG5vdCBzdXBwb3J0ZWQgZm9yIHJlcGxpY2F0aW9uIG9yIHBlbmRpbmcg aW52ZXN0aWdhdGlvbi4KClN1cHBvcnQgbG9naWNhbCBkZWNvZGluZyBvZiB0aGUgbmV3IFdBTCBy ZWNvcmQgeGxfbG9naWNhbF9kZGxfbWVzc2FnZS4KVGhpcyBpcyBzaW1pbGFyIHRvIHRoZSBsb2dp Y2FsIGRlY29kaW5nIG9mIHhsX2xvZ2ljYWxfbWVzc2FnZS4gVGVzdHMKZm9yIHRoaXMgY2hhbmdl IGFyZSBhZGRlZCBpbiB0aGUgdGVzdF9kZWNvZGluZyBwbHVnaW4uCi0tLQogY29udHJpYi90ZXN0 X2RlY29kaW5nL01ha2VmaWxlICAgICAgICAgICAgICAgIHwgICA0ICstCiAuLi4vdGVzdF9kZWNv ZGluZy9leHBlY3RlZC9kZGxtZXNzYWdlcy5vdXQgICAgfCAgNDIgKysrKwogY29udHJpYi90ZXN0 X2RlY29kaW5nL3NxbC9kZGxtZXNzYWdlcy5zcWwgICAgIHwgIDI4ICsrKwogY29udHJpYi90ZXN0 X2RlY29kaW5nL3Rlc3RfZGVjb2RpbmcuYyAgICAgICAgIHwgIDYxICsrKysrLQogc3JjL2JhY2tl bmQvYWNjZXNzL3JtZ3JkZXNjL01ha2VmaWxlICAgICAgICAgIHwgICAxICsKIC4uLi9hY2Nlc3Mv cm1ncmRlc2MvbG9naWNhbGRkbG1zZ2Rlc2MuYyAgICAgICB8ICA1NCArKysrKwogc3JjL2JhY2tl bmQvYWNjZXNzL3RyYW5zYW0vcm1nci5jICAgICAgICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5k L2NhdGFsb2cvcGdfcHVibGljYXRpb24uYyAgICAgICAgICB8ICA1MiArKysrKwogc3JjL2JhY2tl bmQvY29tbWFuZHMvdGFibGVjbWRzLmMgICAgICAgICAgICAgIHwgIDQzICsrKy0KIHNyYy9iYWNr ZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvTWFrZWZpbGUgICAgICB8ICAgMSArCiBzcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2RkbG1lc3NhZ2UuYyAgfCAgOTkgKysrKysrKysrCiBzcmMv YmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2RlY29kZS5jICAgICAgfCAgNTYgKysrKysKIHNy Yy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvbG9naWNhbC5jICAgICB8ICA5MSArKysrKysr KwogLi4uL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcmVvcmRlcmJ1ZmZlci5jICAgICAgIHwgMjA0ICsr KysrKysrKysrKysrKysrLQogc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMgICAgICAgICAgICAg ICAgICAgIHwgMjAxICsrKysrKysrKysrKysrKystCiBzcmMvYmluL3BnX3dhbGR1bXAvcm1ncmRl c2MuYyAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjL2luY2x1ZGUvYWNjZXNzL3JtZ3JsaXN0 LmggICAgICAgICAgICAgICAgIHwgICAxICsKIHNyYy9pbmNsdWRlL2NvbW1hbmRzL3RhYmxlY21k cy5oICAgICAgICAgICAgICB8ICAgMyArLQogc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vZGRsbWVz c2FnZS5oICAgICAgICAgIHwgIDQ3ICsrKysKIHNyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2RlY29k ZS5oICAgICAgICAgICAgICB8ICAgMSArCiBzcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9vdXRwdXRf cGx1Z2luLmggICAgICAgfCAgMjkgKysrCiBzcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9yZW9yZGVy YnVmZmVyLmggICAgICAgfCAgMzkgKysrKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wdWJs aWNhdGlvbi5vdXQgICAgIHwgIDE2ICstCiAyMyBmaWxlcyBjaGFuZ2VkLCAxMDU0IGluc2VydGlv bnMoKyksIDIxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGNvbnRyaWIvdGVzdF9k ZWNvZGluZy9leHBlY3RlZC9kZGxtZXNzYWdlcy5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBjb250 cmliL3Rlc3RfZGVjb2Rpbmcvc3FsL2RkbG1lc3NhZ2VzLnNxbAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyYy9iYWNrZW5kL2FjY2Vzcy9ybWdyZGVzYy9sb2dpY2FsZGRsbXNnZGVzYy5jCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9kZGxtZXNzYWdlLmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9kZGxtZXNzYWdlLmgK CmRpZmYgLS1naXQgYS9jb250cmliL3Rlc3RfZGVjb2RpbmcvTWFrZWZpbGUgYi9jb250cmliL3Rl c3RfZGVjb2RpbmcvTWFrZWZpbGUKaW5kZXggYjIyMDkwNjQ3OS4uZTU4YTc2ZDNmMSAxMDA2NDQK LS0tIGEvY29udHJpYi90ZXN0X2RlY29kaW5nL01ha2VmaWxlCisrKyBiL2NvbnRyaWIvdGVzdF9k ZWNvZGluZy9NYWtlZmlsZQpAQCAtNSw3ICs1LDkgQEAgUEdGSUxFREVTQyA9ICJ0ZXN0X2RlY29k aW5nIC0gZXhhbXBsZSBvZiBhIGxvZ2ljYWwgZGVjb2Rpbmcgb3V0cHV0IHBsdWdpbiIKIAogUkVH UkVTUyA9IGRkbCB4YWN0IHJld3JpdGUgdG9hc3QgcGVybWlzc2lvbnMgZGVjb2RpbmdfaW5feGFj dCBcCiAJZGVjb2RpbmdfaW50b19yZWwgYmluYXJ5IHByZXBhcmVkIHJlcGxvcmlnaW4gdGltZSBt ZXNzYWdlcyBcCi0Jc3BpbGwgc2xvdCB0cnVuY2F0ZSBzdHJlYW0gc3RhdHMgdHdvcGhhc2UgdHdv cGhhc2Vfc3RyZWFtCisJc3BpbGwgc2xvdCB0cnVuY2F0ZSBzdHJlYW0gc3RhdHMgdHdvcGhhc2Ug dHdvcGhhc2Vfc3RyZWFtIFwKKwlkZGxtZXNzYWdlcworCiBJU09MQVRJT04gPSBteGFjdCBkZWxh eWVkX3N0YXJ0dXAgb25kaXNrX3N0YXJ0dXAgY29uY3VycmVudF9kZGxfZG1sIFwKIAlvbGRlc3Rf eG1pbiBzbmFwc2hvdF90cmFuc2ZlciBzdWJ4YWN0X3dpdGhvdXRfdG9wIGNvbmN1cnJlbnRfc3Ry ZWFtIFwKIAl0d29waGFzZV9zbmFwc2hvdCBzbG90X2NyZWF0aW9uX2Vycm9yCmRpZmYgLS1naXQg YS9jb250cmliL3Rlc3RfZGVjb2RpbmcvZXhwZWN0ZWQvZGRsbWVzc2FnZXMub3V0IGIvY29udHJp Yi90ZXN0X2RlY29kaW5nL2V4cGVjdGVkL2RkbG1lc3NhZ2VzLm91dApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwLi43OTI4NGY5ZGVmCi0tLSAvZGV2L251bGwKKysrIGIvY29u dHJpYi90ZXN0X2RlY29kaW5nL2V4cGVjdGVkL2RkbG1lc3NhZ2VzLm91dApAQCAtMCwwICsxLDQy IEBACistLSBwcmVkaWN0YWJpbGl0eQorU0VUIHN5bmNocm9ub3VzX2NvbW1pdCA9IG9uOworLS0g dHVybiBvbiBsb2dpY2FsIGRkbCBtZXNzYWdlIGxvZ2dpbmcKK0NSRUFURSBwdWJsaWNhdGlvbiBt eXB1YiBGT1IgQUxMIFRBQkxFUyB3aXRoIChkZGwgPSAnZGF0YWJhc2UnKTsKK1NFTEVDVCAnaW5p dCcgRlJPTSBwZ19jcmVhdGVfbG9naWNhbF9yZXBsaWNhdGlvbl9zbG90KCdyZWdyZXNzaW9uX3Ns b3QnLCAndGVzdF9kZWNvZGluZycpOworID9jb2x1bW4/IAorLS0tLS0tLS0tLQorIGluaXQKKygx IHJvdykKKworQ1JFQVRFIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSAoaWQgc2VyaWFsIHVuaXF1ZSwg ZGF0YSBpbnQpOworQUxURVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGFkZCBjMyB2YXJjaGFyOwor QUxURVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGRyb3AgYzM7CitEUk9QIFRBQkxFIHRlc3RfZGRs bWVzc2FnZTsKK0JFR0lOOworQ1JFQVRFIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSAoaWQgc2VyaWFs IHVuaXF1ZSwgZGF0YSBpbnQpOworQUxURVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGFkZCBjMyB2 YXJjaGFyOworUk9MTEJBQ0s7CitCRUdJTjsKK0NSRUFURSBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2Ug KGlkIHNlcmlhbCB1bmlxdWUsIGRhdGEgaW50KTsKK0FMVEVSIFRBQkxFIHRlc3RfZGRsbWVzc2Fn ZSBhZGQgYzMgdmFyY2hhcjsKK0NPTU1JVDsKK1xvIHwgc2VkICdzL3JvbGUuKnNlYXJjaF9wYXRo L3JvbGU6IHJlZGFjdGVkLCBzZWFyY2hfcGF0aC9nJworU0VMRUNUIGRhdGEgRlJPTSBwZ19sb2dp Y2FsX3Nsb3RfZ2V0X2NoYW5nZXMoJ3JlZ3Jlc3Npb25fc2xvdCcsIE5VTEwsIE5VTEwsICdpbmNs dWRlLXhpZHMnLCAnMCcsICdza2lwLWVtcHR5LXhhY3RzJywgJzEnKTsKK1NFTEVDVCBwZ19kcm9w X3JlcGxpY2F0aW9uX3Nsb3QoJ3JlZ3Jlc3Npb25fc2xvdCcpOworRFJPUCBUQUJMRSB0ZXN0X2Rk bG1lc3NhZ2U7CitEUk9QIHB1YmxpY2F0aW9uIG15cHViOworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk YXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgRERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9uYWw6IDEgcHJlZml4OiAgcm9s ZTogcmVkYWN0ZWQsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiA1OCBjb250ZW50 OkNSRUFURSBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2UgKGlkIHNlcmlhbCB1bmlxdWUsIGRhdGEgaW50 KTsKKyBEREwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xlOiByZWRhY3Rl ZCwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywgc3o6IDQzIGNvbnRlbnQ6QUxURVIgVEFC TEUgdGVzdF9kZGxtZXNzYWdlIGFkZCBjMyB2YXJjaGFyOworIERETCBtZXNzYWdlOiB0cmFuc2Fj dGlvbmFsOiAxIHByZWZpeDogIHJvbGU6IHJlZGFjdGVkLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwg cHVibGljLCBzejogMzYgY29udGVudDpBTFRFUiBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2UgZHJvcCBj MzsKKyBEREwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xlOiByZWRhY3Rl ZCwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywgc3o6IDI3IGNvbnRlbnQ6RFJPUCBUQUJM RSB0ZXN0X2RkbG1lc3NhZ2U7CisgRERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9uYWw6IDEgcHJlZml4 OiAgcm9sZTogcmVkYWN0ZWQsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiA1OCBj b250ZW50OkNSRUFURSBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2UgKGlkIHNlcmlhbCB1bmlxdWUsIGRh dGEgaW50KTsKKyBEREwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xlOiBy ZWRhY3RlZCwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywgc3o6IDQzIGNvbnRlbnQ6QUxU RVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGFkZCBjMyB2YXJjaGFyOworKDYgcm93cykKKworIHBn X2Ryb3BfcmVwbGljYXRpb25fc2xvdCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCiso MSByb3cpCisKZGlmZiAtLWdpdCBhL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9zcWwvZGRsbWVzc2Fn ZXMuc3FsIGIvY29udHJpYi90ZXN0X2RlY29kaW5nL3NxbC9kZGxtZXNzYWdlcy5zcWwKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMjExNDk3ZWUyMgotLS0gL2Rldi9udWxs CisrKyBiL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9zcWwvZGRsbWVzc2FnZXMuc3FsCkBAIC0wLDAg KzEsMjggQEAKKy0tIHByZWRpY3RhYmlsaXR5CitTRVQgc3luY2hyb25vdXNfY29tbWl0ID0gb247 CistLSB0dXJuIG9uIGxvZ2ljYWwgZGRsIG1lc3NhZ2UgbG9nZ2luZworQ1JFQVRFIHB1YmxpY2F0 aW9uIG15cHViIEZPUiBBTEwgVEFCTEVTIHdpdGggKGRkbCA9ICdkYXRhYmFzZScpOworCitTRUxF Q1QgJ2luaXQnIEZST00gcGdfY3JlYXRlX2xvZ2ljYWxfcmVwbGljYXRpb25fc2xvdCgncmVncmVz c2lvbl9zbG90JywgJ3Rlc3RfZGVjb2RpbmcnKTsKKworQ1JFQVRFIFRBQkxFIHRlc3RfZGRsbWVz c2FnZSAoaWQgc2VyaWFsIHVuaXF1ZSwgZGF0YSBpbnQpOworQUxURVIgVEFCTEUgdGVzdF9kZGxt ZXNzYWdlIGFkZCBjMyB2YXJjaGFyOworQUxURVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGRyb3Ag YzM7CitEUk9QIFRBQkxFIHRlc3RfZGRsbWVzc2FnZTsKKworQkVHSU47CitDUkVBVEUgVEFCTEUg dGVzdF9kZGxtZXNzYWdlIChpZCBzZXJpYWwgdW5pcXVlLCBkYXRhIGludCk7CitBTFRFUiBUQUJM RSB0ZXN0X2RkbG1lc3NhZ2UgYWRkIGMzIHZhcmNoYXI7CitST0xMQkFDSzsKKworQkVHSU47CitD UkVBVEUgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIChpZCBzZXJpYWwgdW5pcXVlLCBkYXRhIGludCk7 CitBTFRFUiBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2UgYWRkIGMzIHZhcmNoYXI7CitDT01NSVQ7CisK K1xvIHwgc2VkICdzL3JvbGUuKnNlYXJjaF9wYXRoL3JvbGU6IHJlZGFjdGVkLCBzZWFyY2hfcGF0 aC9nJworU0VMRUNUIGRhdGEgRlJPTSBwZ19sb2dpY2FsX3Nsb3RfZ2V0X2NoYW5nZXMoJ3JlZ3Jl c3Npb25fc2xvdCcsIE5VTEwsIE5VTEwsICdpbmNsdWRlLXhpZHMnLCAnMCcsICdza2lwLWVtcHR5 LXhhY3RzJywgJzEnKTsKK1NFTEVDVCBwZ19kcm9wX3JlcGxpY2F0aW9uX3Nsb3QoJ3JlZ3Jlc3Np b25fc2xvdCcpOworRFJPUCBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2U7CitEUk9QIHB1YmxpY2F0aW9u IG15cHViOworCmRpZmYgLS1naXQgYS9jb250cmliL3Rlc3RfZGVjb2RpbmcvdGVzdF9kZWNvZGlu Zy5jIGIvY29udHJpYi90ZXN0X2RlY29kaW5nL3Rlc3RfZGVjb2RpbmcuYwppbmRleCAzNzM2ZGE2 Nzg0Li5hNDRlMWY3OWUzIDEwMDY0NAotLS0gYS9jb250cmliL3Rlc3RfZGVjb2RpbmcvdGVzdF9k ZWNvZGluZy5jCisrKyBiL2NvbnRyaWIvdGVzdF9kZWNvZGluZy90ZXN0X2RlY29kaW5nLmMKQEAg LTc2LDYgKzc2LDExIEBAIHN0YXRpYyB2b2lkIHBnX2RlY29kZV9tZXNzYWdlKExvZ2ljYWxEZWNv ZGluZ0NvbnRleHQgKmN0eCwKIAkJCQkJCQkgIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwgWExvZ1Jl Y1B0ciBtZXNzYWdlX2xzbiwKIAkJCQkJCQkgIGJvb2wgdHJhbnNhY3Rpb25hbCwgY29uc3QgY2hh ciAqcHJlZml4LAogCQkJCQkJCSAgU2l6ZSBzeiwgY29uc3QgY2hhciAqbWVzc2FnZSk7CitzdGF0 aWMgdm9pZCBwZ19kZWNvZGVfZGRsbWVzc2FnZShMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgs CisJCQkJCQkJCSBSZW9yZGVyQnVmZmVyVFhOICp0eG4sIFhMb2dSZWNQdHIgbWVzc2FnZV9sc24s CisJCQkJCQkJCSBib29sIHRyYW5zYWN0aW9uYWwsIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCQkJ CQkJIGNvbnN0IGNoYXIgKnJvbGUsIGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoLAorCQkJCQkJCQkg U2l6ZSBzeiwgY29uc3QgY2hhciAqbWVzc2FnZSk7CiBzdGF0aWMgYm9vbCBwZ19kZWNvZGVfZmls dGVyX3ByZXBhcmUoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LAogCQkJCQkJCQkJIFRyYW5z YWN0aW9uSWQgeGlkLAogCQkJCQkJCQkJIGNvbnN0IGNoYXIgKmdpZCk7CkBAIC0xMTYsNiArMTIx LDExIEBAIHN0YXRpYyB2b2lkIHBnX2RlY29kZV9zdHJlYW1fbWVzc2FnZShMb2dpY2FsRGVjb2Rp bmdDb250ZXh0ICpjdHgsCiAJCQkJCQkJCQkgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLCBYTG9nUmVj UHRyIG1lc3NhZ2VfbHNuLAogCQkJCQkJCQkJIGJvb2wgdHJhbnNhY3Rpb25hbCwgY29uc3QgY2hh ciAqcHJlZml4LAogCQkJCQkJCQkJIFNpemUgc3osIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOworc3Rh dGljIHZvaWQgcGdfZGVjb2RlX3N0cmVhbV9kZGxtZXNzYWdlKExvZ2ljYWxEZWNvZGluZ0NvbnRl eHQgKmN0eCwKKwkJCQkJCQkJCQlSZW9yZGVyQnVmZmVyVFhOICp0eG4sIFhMb2dSZWNQdHIgbWVz c2FnZV9sc24sCisJCQkJCQkJCQkJYm9vbCB0cmFuc2FjdGlvbmFsLCBjb25zdCBjaGFyICpwcmVm aXgsCisJCQkJCQkJCQkJY29uc3QgY2hhciAqcm9sZSwgY29uc3QgY2hhciAqc2VhcmNoX3BhdGgs CisJCQkJCQkJCQkJU2l6ZSBzeiwgY29uc3QgY2hhciAqbWVzc2FnZSk7CiBzdGF0aWMgdm9pZCBw Z19kZWNvZGVfc3RyZWFtX3RydW5jYXRlKExvZ2ljYWxEZWNvZGluZ0NvbnRleHQgKmN0eCwKIAkJ CQkJCQkJCSAgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogCQkJCQkJCQkJICBpbnQgbnJlbGF0aW9u cywgUmVsYXRpb24gcmVsYXRpb25zW10sCkBAIC0xNDEsNiArMTUxLDcgQEAgX1BHX291dHB1dF9w bHVnaW5faW5pdChPdXRwdXRQbHVnaW5DYWxsYmFja3MgKmNiKQogCWNiLT5maWx0ZXJfYnlfb3Jp Z2luX2NiID0gcGdfZGVjb2RlX2ZpbHRlcjsKIAljYi0+c2h1dGRvd25fY2IgPSBwZ19kZWNvZGVf c2h1dGRvd247CiAJY2ItPm1lc3NhZ2VfY2IgPSBwZ19kZWNvZGVfbWVzc2FnZTsKKwljYi0+ZGRs bWVzc2FnZV9jYiA9IHBnX2RlY29kZV9kZGxtZXNzYWdlOwogCWNiLT5maWx0ZXJfcHJlcGFyZV9j YiA9IHBnX2RlY29kZV9maWx0ZXJfcHJlcGFyZTsKIAljYi0+YmVnaW5fcHJlcGFyZV9jYiA9IHBn X2RlY29kZV9iZWdpbl9wcmVwYXJlX3R4bjsKIAljYi0+cHJlcGFyZV9jYiA9IHBnX2RlY29kZV9w cmVwYXJlX3R4bjsKQEAgLTE1Myw2ICsxNjQsNyBAQCBfUEdfb3V0cHV0X3BsdWdpbl9pbml0KE91 dHB1dFBsdWdpbkNhbGxiYWNrcyAqY2IpCiAJY2ItPnN0cmVhbV9jb21taXRfY2IgPSBwZ19kZWNv ZGVfc3RyZWFtX2NvbW1pdDsKIAljYi0+c3RyZWFtX2NoYW5nZV9jYiA9IHBnX2RlY29kZV9zdHJl YW1fY2hhbmdlOwogCWNiLT5zdHJlYW1fbWVzc2FnZV9jYiA9IHBnX2RlY29kZV9zdHJlYW1fbWVz c2FnZTsKKwljYi0+c3RyZWFtX2RkbG1lc3NhZ2VfY2IgPSBwZ19kZWNvZGVfc3RyZWFtX2RkbG1l c3NhZ2U7CiAJY2ItPnN0cmVhbV90cnVuY2F0ZV9jYiA9IHBnX2RlY29kZV9zdHJlYW1fdHJ1bmNh dGU7CiB9CiAKQEAgLTc0Nyw3ICs3NTksOCBAQCBwZ19kZWNvZGVfdHJ1bmNhdGUoTG9naWNhbERl Y29kaW5nQ29udGV4dCAqY3R4LCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCiBzdGF0aWMgdm9pZAog cGdfZGVjb2RlX21lc3NhZ2UoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LAogCQkJCSAgUmVv cmRlckJ1ZmZlclRYTiAqdHhuLCBYTG9nUmVjUHRyIGxzbiwgYm9vbCB0cmFuc2FjdGlvbmFsLAot CQkJCSAgY29uc3QgY2hhciAqcHJlZml4LCBTaXplIHN6LCBjb25zdCBjaGFyICptZXNzYWdlKQor CQkJCSAgY29uc3QgY2hhciAqcHJlZml4LCBTaXplIHN6LAorCQkJCSAgY29uc3QgY2hhciAqbWVz c2FnZSkKIHsKIAlPdXRwdXRQbHVnaW5QcmVwYXJlV3JpdGUoY3R4LCB0cnVlKTsKIAlhcHBlbmRT dHJpbmdJbmZvKGN0eC0+b3V0LCAibWVzc2FnZTogdHJhbnNhY3Rpb25hbDogJWQgcHJlZml4OiAl cywgc3o6ICV6dSBjb250ZW50OiIsCkBAIC03NTYsNiArNzY5LDE5IEBAIHBnX2RlY29kZV9tZXNz YWdlKExvZ2ljYWxEZWNvZGluZ0NvbnRleHQgKmN0eCwKIAlPdXRwdXRQbHVnaW5Xcml0ZShjdHgs IHRydWUpOwogfQogCitzdGF0aWMgdm9pZAorcGdfZGVjb2RlX2RkbG1lc3NhZ2UoTG9naWNhbERl Y29kaW5nQ29udGV4dCAqY3R4LAorCQkJCSAgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLCBYTG9nUmVj UHRyIGxzbiwgYm9vbCB0cmFuc2FjdGlvbmFsLAorCQkJCSAgY29uc3QgY2hhciAqcHJlZml4LCBj b25zdCBjaGFyICpyb2xlLCBjb25zdCBjaGFyICpzZWFyY2hfcGF0aCwKKwkJCQkgIFNpemUgc3os IGNvbnN0IGNoYXIgKm1lc3NhZ2UpCit7CisJT3V0cHV0UGx1Z2luUHJlcGFyZVdyaXRlKGN0eCwg dHJ1ZSk7CisJYXBwZW5kU3RyaW5nSW5mbyhjdHgtPm91dCwgIkRETCBtZXNzYWdlOiB0cmFuc2Fj dGlvbmFsOiAlZCBwcmVmaXg6ICVzIHJvbGU6ICVzLCBzZWFyY2hfcGF0aDogJXMsIHN6OiAlenUg Y29udGVudDoiLAorCQkJCQkgdHJhbnNhY3Rpb25hbCwgcHJlZml4LCByb2xlLCBzZWFyY2hfcGF0 aCwgc3opOworCWFwcGVuZEJpbmFyeVN0cmluZ0luZm8oY3R4LT5vdXQsIG1lc3NhZ2UsIHN6KTsK KwlPdXRwdXRQbHVnaW5Xcml0ZShjdHgsIHRydWUpOworfQorCiBzdGF0aWMgdm9pZAogcGdfZGVj b2RlX3N0cmVhbV9zdGFydChMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsCiAJCQkJCSAgIFJl b3JkZXJCdWZmZXJUWE4gKnR4bikKQEAgLTkzNiw3ICs5NjIsOCBAQCBwZ19kZWNvZGVfc3RyZWFt X2NoYW5nZShMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsCiBzdGF0aWMgdm9pZAogcGdfZGVj b2RlX3N0cmVhbV9tZXNzYWdlKExvZ2ljYWxEZWNvZGluZ0NvbnRleHQgKmN0eCwKIAkJCQkJCSBS ZW9yZGVyQnVmZmVyVFhOICp0eG4sIFhMb2dSZWNQdHIgbHNuLCBib29sIHRyYW5zYWN0aW9uYWws Ci0JCQkJCQkgY29uc3QgY2hhciAqcHJlZml4LCBTaXplIHN6LCBjb25zdCBjaGFyICptZXNzYWdl KQorCQkJCQkJIGNvbnN0IGNoYXIgKnByZWZpeCwgU2l6ZSBzeiwKKwkJCQkJCSBjb25zdCBjaGFy ICptZXNzYWdlKQogewogCU91dHB1dFBsdWdpblByZXBhcmVXcml0ZShjdHgsIHRydWUpOwogCkBA IC05NDgsNyArOTc1LDM1IEBAIHBnX2RlY29kZV9zdHJlYW1fbWVzc2FnZShMb2dpY2FsRGVjb2Rp bmdDb250ZXh0ICpjdHgsCiAJZWxzZQogCXsKIAkJYXBwZW5kU3RyaW5nSW5mbyhjdHgtPm91dCwg InN0cmVhbWluZyBtZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAlZCBwcmVmaXg6ICVzLCBzejogJXp1 IGNvbnRlbnQ6IiwKLQkJCQkJCSB0cmFuc2FjdGlvbmFsLCBwcmVmaXgsIHN6KTsKKwkJCQkJCQkg dHJhbnNhY3Rpb25hbCwgcHJlZml4LCBzeik7CisJCWFwcGVuZEJpbmFyeVN0cmluZ0luZm8oY3R4 LT5vdXQsIG1lc3NhZ2UsIHN6KTsKKwl9CisKKwlPdXRwdXRQbHVnaW5Xcml0ZShjdHgsIHRydWUp OworfQorCisvKgorICogSW4gc3RyZWFtaW5nIG1vZGUsIHdlIGRvbid0IGRpc3BsYXkgdGhlIGNv bnRlbnRzIGZvciB0cmFuc2FjdGlvbmFsIG1lc3NhZ2VzCisgKiBhcyB0aGUgdHJhbnNhY3Rpb24g Y2FuIGFib3J0IGF0IGEgbGF0ZXIgcG9pbnQgaW4gdGltZS4gIFdlIGRvbid0IHdhbnQgdXNlcnMg dG8KKyAqIHNlZSB0aGUgbWVzc2FnZSBjb250ZW50cyB1bnRpbCB0aGUgdHJhbnNhY3Rpb24gaXMg Y29tbWl0dGVkLgorICovCitzdGF0aWMgdm9pZAorcGdfZGVjb2RlX3N0cmVhbV9kZGxtZXNzYWdl KExvZ2ljYWxEZWNvZGluZ0NvbnRleHQgKmN0eCwKKwkJCQkJCQlSZW9yZGVyQnVmZmVyVFhOICp0 eG4sIFhMb2dSZWNQdHIgbHNuLCBib29sIHRyYW5zYWN0aW9uYWwsCisJCQkJCQkJY29uc3QgY2hh ciAqcHJlZml4LCBjb25zdCBjaGFyICogcm9sZSwgY29uc3QgY2hhciAqIHNlYXJjaF9wYXRoLAor CQkJCQkJCVNpemUgc3osIGNvbnN0IGNoYXIgKm1lc3NhZ2UpCit7CisJT3V0cHV0UGx1Z2luUHJl cGFyZVdyaXRlKGN0eCwgdHJ1ZSk7CisKKwlpZiAodHJhbnNhY3Rpb25hbCkKKwl7CisJCWFwcGVu ZFN0cmluZ0luZm8oY3R4LT5vdXQsICJzdHJlYW1pbmcgRERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9u YWw6ICVkIHByZWZpeDogJXMgcm9sZTogJXMsIHNlYXJjaF9wYXRoOiAlcywgc3o6ICV6dSIsCisJ CQkJCQkgdHJhbnNhY3Rpb25hbCwgcHJlZml4LCByb2xlLCBzZWFyY2hfcGF0aCwgc3opOworCX0K KwllbHNlCisJeworCQlhcHBlbmRTdHJpbmdJbmZvKGN0eC0+b3V0LCAic3RyZWFtaW5nIERETCBt ZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAlZCBwcmVmaXg6ICVzIHJvbGU6ICVzLCBzZWFyY2hfcGF0 aDogJXMsIHN6OiAlenUgY29udGVudDoiLAorCQkJCQkJIHRyYW5zYWN0aW9uYWwsIHByZWZpeCwg cm9sZSwgc2VhcmNoX3BhdGgsIHN6KTsKIAkJYXBwZW5kQmluYXJ5U3RyaW5nSW5mbyhjdHgtPm91 dCwgbWVzc2FnZSwgc3opOwogCX0KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3Jt Z3JkZXNjL01ha2VmaWxlIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3JtZ3JkZXNjL01ha2VmaWxlCmlu ZGV4IGY4OGQ3MmZkODYuLmI4ZTI5ZThkZjMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vz cy9ybWdyZGVzYy9NYWtlZmlsZQorKysgYi9zcmMvYmFja2VuZC9hY2Nlc3Mvcm1ncmRlc2MvTWFr ZWZpbGUKQEAgLTE5LDYgKzE5LDcgQEAgT0JKUyA9IFwKIAloYXNoZGVzYy5vIFwKIAloZWFwZGVz Yy5vIFwKIAlsb2dpY2FsbXNnZGVzYy5vIFwKKwlsb2dpY2FsZGRsbXNnZGVzYy5vIFwKIAlteGFj dGRlc2MubyBcCiAJbmJ0ZGVzYy5vIFwKIAlyZWxtYXBkZXNjLm8gXApkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvYWNjZXNzL3JtZ3JkZXNjL2xvZ2ljYWxkZGxtc2dkZXNjLmMgYi9zcmMvYmFja2Vu ZC9hY2Nlc3Mvcm1ncmRlc2MvbG9naWNhbGRkbG1zZ2Rlc2MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwLi43YTM1MmQ1NDBhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2Jh Y2tlbmQvYWNjZXNzL3JtZ3JkZXNjL2xvZ2ljYWxkZGxtc2dkZXNjLmMKQEAgLTAsMCArMSw1NCBA QAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogbG9naWNhbGRkbG1zZ2Rlc2MuYworICoJICBy bWdyIGRlc2NyaXB0b3Igcm91dGluZXMgZm9yIHJlcGxpY2F0aW9uL2xvZ2ljYWwvZGRsbWVzc2Fn ZS5jCisgKgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDE1LTIwMjIsIFBvc3RncmVTUUwg R2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisgKgorICoKKyAqIElERU5USUZJQ0FUSU9OCisgKgkg IHNyYy9iYWNrZW5kL2FjY2Vzcy9ybWdyZGVzYy9sb2dpY2FsZGRsbXNnZGVzYy5jCisgKgorICot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgKi8KKyNpbmNsdWRlICJwb3N0Z3Jlcy5oIgorCisjaW5jbHVkZSAi cmVwbGljYXRpb24vZGRsbWVzc2FnZS5oIgorCit2b2lkCitsb2dpY2FsZGRsbXNnX2Rlc2MoU3Ry aW5nSW5mbyBidWYsIFhMb2dSZWFkZXJTdGF0ZSAqcmVjb3JkKQoreworCWNoYXIJICAgKnJlYyA9 IFhMb2dSZWNHZXREYXRhKHJlY29yZCk7CisJdWludDgJCWluZm8gPSBYTG9nUmVjR2V0SW5mbyhy ZWNvcmQpICYgflhMUl9JTkZPX01BU0s7CisKKwlpZiAoaW5mbyA9PSBYTE9HX0xPR0lDQUxfRERM X01FU1NBR0UpCisJeworCQl4bF9sb2dpY2FsX2RkbF9tZXNzYWdlICp4bHJlYyA9ICh4bF9sb2dp Y2FsX2RkbF9tZXNzYWdlICopIHJlYzsKKwkJY2hhcgkgICAqcHJlZml4ID0geGxyZWMtPm1lc3Nh Z2U7CisJCWNoYXIgICAgICAgKnJvbGUgPSB4bHJlYy0+bWVzc2FnZSArIHhscmVjLT5wcmVmaXhf c2l6ZTsKKwkJY2hhciAgICAgICAqc2VhcmNoX3BhdGggPSB4bHJlYy0+bWVzc2FnZSArIHhscmVj LT5wcmVmaXhfc2l6ZSArIHhscmVjLT5yb2xlX3NpemU7CisJCWNoYXIJICAgKm1lc3NhZ2UgPSB4 bHJlYy0+bWVzc2FnZSArIHhscmVjLT5wcmVmaXhfc2l6ZSArIHhscmVjLT5yb2xlX3NpemUgKyB4 bHJlYy0+c2VhcmNoX3BhdGhfc2l6ZTsKKwkJY2hhcgkgICAqc2VwID0gIiI7CisKKwkJQXNzZXJ0 KHByZWZpeFt4bHJlYy0+cHJlZml4X3NpemVdICE9ICdcMCcpOworCisJCWFwcGVuZFN0cmluZ0lu Zm8oYnVmLCAiJXMsIHByZWZpeCBcIiVzXCI7IHJvbGUgXCIlc1wiOyBzZWFyY2hfcGF0aCBcIiVz XCI7IHBheWxvYWQgKCV6dSBieXRlcyk6ICIsCisJCQkJCQkgeGxyZWMtPnRyYW5zYWN0aW9uYWwg PyAidHJhbnNhY3Rpb25hbCIgOiAibm9uLXRyYW5zYWN0aW9uYWwiLAorCQkJCQkJIHByZWZpeCwg cm9sZSwgc2VhcmNoX3BhdGgsIHhscmVjLT5tZXNzYWdlX3NpemUpOworCQkvKiBXcml0ZSBtZXNz YWdlIHBheWxvYWQgYXMgYSBzZXJpZXMgb2YgaGV4IGJ5dGVzICovCisJCWZvciAoaW50IGNudCA9 IDA7IGNudCA8IHhscmVjLT5tZXNzYWdlX3NpemU7IGNudCsrKQorCQl7CisJCQlhcHBlbmRTdHJp bmdJbmZvKGJ1ZiwgIiVzJTAyWCIsIHNlcCwgKHVuc2lnbmVkIGNoYXIpIG1lc3NhZ2VbY250XSk7 CisJCQlzZXAgPSAiICI7CisJCX0KKwl9Cit9CisKK2NvbnN0IGNoYXIgKgorbG9naWNhbGRkbG1z Z19pZGVudGlmeSh1aW50OCBpbmZvKQoreworCWlmICgoaW5mbyAmIH5YTFJfSU5GT19NQVNLKSA9 PSBYTE9HX0xPR0lDQUxfRERMX01FU1NBR0UpCisJCXJldHVybiAiRERMIE1FU1NBR0UiOworCisJ cmV0dXJuIE5VTEw7Cit9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9y bWdyLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9ybWdyLmMKaW5kZXggOGVkNjkyNDRl My4uNmRiOWE1OTNiOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vcm1n ci5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3JtZ3IuYwpAQCAtMjksNiArMjks NyBAQAogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgogI2luY2x1ZGUgInJlcGxpY2F0aW9uL2RlY29k ZS5oIgogI2luY2x1ZGUgInJlcGxpY2F0aW9uL21lc3NhZ2UuaCIKKyNpbmNsdWRlICJyZXBsaWNh dGlvbi9kZGxtZXNzYWdlLmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24vb3JpZ2luLmgiCiAjaW5j bHVkZSAic3RvcmFnZS9zdGFuZGJ5LmgiCiAjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYyBiL3NyYy9iYWNr ZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYwppbmRleCA3MWEyNTkxNTNjLi45MmQyNzYzZTgz IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMKKysrIGIv c3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jCkBAIC0xMTU2LDMgKzExNTYsNTUg QEAgcGdfZ2V0X3B1YmxpY2F0aW9uX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQogCiAJU1JGX1JF VFVSTl9ET05FKGZ1bmNjdHgpOwogfQorCisvKgorICogQ2hlY2tzIGlmIERETCBvbiByZWxhdGlv biAocmVsaWQpIG5lZWQgeGxvZyBmb3IgbG9naWNhbCByZXBsaWNhdGlvbgorICovCitib29sCitk ZGxfbmVlZF94bG9nKE9pZCByZWxpZCwgYm9vbCBmb3JBbGxUYWJQdWJPbmx5LCBib29sIGlzVG9w TGV2ZWwpCit7CisJTGlzdCAqYWxsVGFibGVQdWJzID0gTklMOworCUxpc3QgKnRhYmxlUHVicyA9 IE5JTDsKKwlMaXN0Q2VsbCAqbGM7CisKKwkvKiBPbmx5IHJlcGxpY2F0ZSB0b3BsZXZlbCBEREwg Y29tbWFuZCAqLworCWlmICghaXNUb3BMZXZlbCkKKwkJcmV0dXJuIGZhbHNlOworCWlmIChyZWxp ZCA9PSBJbnZhbGlkT2lkICYmICFmb3JBbGxUYWJQdWJPbmx5KQorCQlyZXR1cm4gZmFsc2U7CisK KwkvKgorCSAqIExvZyB0aGUgRERMIGNvbW1hbmQgaWYKKwkgKiB0aGVyZSBpcyBhbnkgRk9SIEFM TCBUQUJMRVMgcHVibGljYXRpb24gd2l0aCBwdWJkZGxfZGF0YWJhc2Ugb24KKwkgKiBvcgorCSAq IHRoaXMgVEFCTEUgYmVsb25ncyB0byBhbnkgbm9uIEZPUiBBTEwgcHVibGljYXRpb25zIHdpdGgg cHViZGRsX3RhYmxlIG9uCisJICovCisJYWxsVGFibGVQdWJzID0gR2V0QWxsVGFibGVzUHVibGlj YXRpb25zKCk7CisJZm9yZWFjaChsYywgYWxsVGFibGVQdWJzKQorCXsKKwkJT2lkIHB1YmlkID0g bGZpcnN0X29pZChsYyk7CisJCVB1YmxpY2F0aW9uICpwdWIgPSBHZXRQdWJsaWNhdGlvbihwdWJp ZCk7CisKKwkJaWYgKHB1Yi0+cHViYWN0aW9ucy5wdWJkZGxfZGF0YWJhc2UpCisJCQlyZXR1cm4g dHJ1ZTsKKwl9CisKKwkvKgorCSAqIElmIGZvckFsbFRhYlB1Yk9ubHkgaXMgdHJ1ZSAoaS5lLiBk YXRhYmFzZSBsZXZlbCByZXBsaWNhdGlvbiBpcyByZXF1aXJlZCBmb3IgdGhlIERETAorCSAqIHRv IGJlIGxvZ2dlZCksIHdlIGNhbiBiYWlsIG5vdyBzaW5jZSBubyBwdWJsaWNhdGlvbiBoYXMgYmVl biBmb3VuZCB3aXRoIHB1YmRkbF9kYXRhYmFzZSBvbgorCSAqLworCWlmIChmb3JBbGxUYWJQdWJP bmx5KQorCQlyZXR1cm4gZmFsc2U7CisKKwl0YWJsZVB1YnMgPSBHZXRSZWxhdGlvblB1YmxpY2F0 aW9ucyhyZWxpZCk7CisJZm9yZWFjaChsYywgdGFibGVQdWJzKQorCXsKKwkJT2lkIHB1YmlkID0g bGZpcnN0X29pZChsYyk7CisJCVB1YmxpY2F0aW9uICpwdWIgPSBHZXRQdWJsaWNhdGlvbihwdWJp ZCk7CisKKwkJaWYgKHB1Yi0+cHViYWN0aW9ucy5wdWJkZGxfdGFibGUpCisJCQlyZXR1cm4gdHJ1 ZTsKKwl9CisKKwlyZXR1cm4gZmFsc2U7Cit9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21t YW5kcy90YWJsZWNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCmluZGV4 IDJkZTBlYmFjZWMuLjZkMTQ4Nzk1MWYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3RhYmxlY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC04 MCw2ICs4MCw3IEBACiAjaW5jbHVkZSAicGFydGl0aW9uaW5nL3BhcnRib3VuZHMuaCIKICNpbmNs dWRlICJwYXJ0aXRpb25pbmcvcGFydGRlc2MuaCIKICNpbmNsdWRlICJwZ3N0YXQuaCIKKyNpbmNs dWRlICJyZXBsaWNhdGlvbi9kZGxtZXNzYWdlLmgiCiAjaW5jbHVkZSAicmV3cml0ZS9yZXdyaXRl RGVmaW5lLmgiCiAjaW5jbHVkZSAicmV3cml0ZS9yZXdyaXRlSGFuZGxlci5oIgogI2luY2x1ZGUg InJld3JpdGUvcmV3cml0ZU1hbmlwLmgiCkBAIC0xMzMyLDEzICsxMzMzLDE0IEBAIERyb3BFcnJv ck1zZ1dyb25nVHlwZShjb25zdCBjaGFyICpyZWxuYW1lLCBjaGFyIHdyb25na2luZCwgY2hhciBy aWdodGtpbmQpCiAgKgkJRFJPUCBNQVRFUklBTElaRUQgVklFVywgRFJPUCBGT1JFSUdOIFRBQkxF CiAgKi8KIHZvaWQKLVJlbW92ZVJlbGF0aW9ucyhEcm9wU3RtdCAqZHJvcCkKK1JlbW92ZVJlbGF0 aW9ucyhQYXJzZVN0YXRlICpwc3RhdGUsIERyb3BTdG10ICpkcm9wLCBib29sIGlzVG9wTGV2ZWwp CiB7CiAJT2JqZWN0QWRkcmVzc2VzICpvYmplY3RzOwogCWNoYXIJCXJlbGtpbmQ7CiAJTGlzdENl bGwgICAqY2VsbDsKIAlpbnQJCQlmbGFncyA9IDA7CiAJTE9DS01PREUJbG9ja21vZGUgPSBBY2Nl c3NFeGNsdXNpdmVMb2NrOworCWJvb2wJCWRkbHhsb2cgPSBYTG9nTG9naWNhbEluZm9BY3RpdmUo KTsKIAogCS8qIERST1AgQ09OQ1VSUkVOVExZIHVzZXMgYSB3ZWFrZXIgbG9jaywgYW5kIGhhcyBz b21lIHJlc3RyaWN0aW9ucyAqLwogCWlmIChkcm9wLT5jb25jdXJyZW50KQpAQCAtMTQzNywxMCAr MTQzOSwzNyBAQCBSZW1vdmVSZWxhdGlvbnMoRHJvcFN0bXQgKmRyb3ApCiAJCS8qIE5vdCB0aGVy ZT8gKi8KIAkJaWYgKCFPaWRJc1ZhbGlkKHJlbE9pZCkpCiAJCXsKKwkJCWRkbHhsb2cgPSBmYWxz ZTsKIAkJCURyb3BFcnJvck1zZ05vbkV4aXN0ZW50KHJlbCwgcmVsa2luZCwgZHJvcC0+bWlzc2lu Z19vayk7CiAJCQljb250aW51ZTsKIAkJfQogCisJCS8qCisJCSAqIE9ubHkgbG9nIERST1AgUkVM QVRJT04gY21kIGZvciBsb2dpY2FsIHJlcGxpY2F0aW9uIGlmCisJCSAqIHRoZXJlIGlzIGFueSBG T1IgQUxMIFRBQkxFUyBwdWJsaWNhdGlvbiB3aXRoIHB1YmRkbF9kYXRhYmFzZSBvbiBvcgorCQkg KiBldmVyeSByZWxhdGlvbiB0byBiZSBkcm9wcGVkIGJlbG9uZ3MgdG8gYW55IG5vbiBGT1IgQUxM IHB1YmxpY2F0aW9ucyB3aXRoIHB1YmRkbF90YWJsZSBvbgorCQkgKi8KKwkJaWYgKGRkbHhsb2cp CisJCXsKKwkJCU9pZCB0YWJsZU9pZCA9IEludmFsaWRPaWQ7CisKKwkJCWlmIChyZWxraW5kID09 IFJFTEtJTkRfUkVMQVRJT04pCisJCQkJdGFibGVPaWQgPSByZWxPaWQ7CisJCQllbHNlIGlmIChy ZWxraW5kID09IFJFTEtJTkRfSU5ERVgpCisJCQkJdGFibGVPaWQgPSBJbmRleEdldFJlbGF0aW9u KHJlbE9pZCwgdHJ1ZSk7CisJCQkvKgorCQkJICogT3RoZXIgcmVsYXRpb24gdHlwZXMgcmVxdWly ZSBkYXRhYmFzZSBsZXZlbCBkZGwgcmVwbGljYXRpb24gYW5kIGFyZQorCQkJICogYWxyZWFkeSBs b2dnZWQgaW4gTG9nTG9naWNhbERETENvbW1hbmQoKSBpZiBuZWVkZWQuCisJCQkgKi8KKwkJCWVs c2UKKwkJCQlkZGx4bG9nID0gZmFsc2U7CisKKwkJCS8qIERST1AgUkVMQVRJT04gb3IgSU5ERVgg YXJlIGFsbG93ZWQgaW4gdGFibGUgbGV2ZWwgRERMIHJlcGxpY2F0aW9uICovCisJCQlpZiAodGFi bGVPaWQgIT0gSW52YWxpZE9pZCAmJgorCQkJCSFkZGxfbmVlZF94bG9nKHRhYmxlT2lkLCBmYWxz ZSwgaXNUb3BMZXZlbCkpCisJCQkJZGRseGxvZyA9IGZhbHNlOworCQl9CisKIAkJLyoKIAkJICog RGVjaWRlIGlmIGNvbmN1cnJlbnQgbW9kZSBuZWVkcyB0byBiZSB1c2VkIGhlcmUgb3Igbm90LiAg VGhlCiAJCSAqIGNhbGxiYWNrIHJldHJpZXZlZCB0aGUgcmVsJ3MgcGVyc2lzdGVuY2UgZm9yIHVz LgpAQCAtMTQ4NCw2ICsxNTEzLDE4IEBAIFJlbW92ZVJlbGF0aW9ucyhEcm9wU3RtdCAqZHJvcCkK IAkJYWRkX2V4YWN0X29iamVjdF9hZGRyZXNzKCZvYmosIG9iamVjdHMpOwogCX0KIAorCS8qIExv ZyB0aGUgRHJvcCBjb21tYW5kIGZvciBsb2dpY2FsIHJlcGxpY2F0aW9uICovCisJaWYgKGRkbHhs b2cpCisJeworCQlib29sIHRyYW5zYWN0aW9uYWwgPSB0cnVlOworCQljb25zdCBjaGFyKiBwcmVm aXggPSAiIjsKKwkJTG9nTG9naWNhbERETE1lc3NhZ2UocHJlZml4LAorCQkJCQkJCSBHZXRVc2Vy SWQoKSwKKwkJCQkJCQkgcHN0YXRlLT5wX3NvdXJjZXRleHQsCisJCQkJCQkJIHN0cmxlbihwc3Rh dGUtPnBfc291cmNldGV4dCksCisJCQkJCQkJIHRyYW5zYWN0aW9uYWwpOworCX0KKwogCXBlcmZv cm1NdWx0aXBsZURlbGV0aW9ucyhvYmplY3RzLCBkcm9wLT5iZWhhdmlvciwgZmxhZ3MpOwogCiAJ ZnJlZV9vYmplY3RfYWRkcmVzc2VzKG9iamVjdHMpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv cmVwbGljYXRpb24vbG9naWNhbC9NYWtlZmlsZSBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xv Z2ljYWwvTWFrZWZpbGUKaW5kZXggYzRlMmZkZWI3MS4uZjNlZWI2NzMxMiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9NYWtlZmlsZQorKysgYi9zcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9sb2dpY2FsL01ha2VmaWxlCkBAIC0xNiw2ICsxNiw3IEBAIG92ZXJyaWRl IENQUEZMQUdTIDo9IC1JJChzcmNkaXIpICQoQ1BQRkxBR1MpCiAKIE9CSlMgPSBcCiAJZGVjb2Rl Lm8gXAorCWRkbG1lc3NhZ2Uub1wKIAlsYXVuY2hlci5vIFwKIAlsb2dpY2FsLm8gXAogCWxvZ2lj YWxmdW5jcy5vIFwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwv ZGRsbWVzc2FnZS5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9kZGxtZXNzYWdl LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uZjkzNTczMDc5YQotLS0g L2Rldi9udWxsCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvZGRsbWVzc2Fn ZS5jCkBAIC0wLDAgKzEsOTkgQEAKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIGRkbG1lc3Nh Z2UuYworICoJICBMb2dpY2FsIERETCBtZXNzYWdlcy4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIw MjIsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisgKgorICogSURFTlRJRklD QVRJT04KKyAqCSAgc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9kZGxtZXNzYWdlLmMK KyAqCisgKiBOT1RFUworICoKKyAqIExvZ2ljYWwgRERMIG1lc3NhZ2VzIGFsbG93IFhMT0cgbG9n Z2luZyBvZiBEREwgY29tbWFuZCBzdHJpbmdzIHRoYXQKKyAqIGdldCBwYXNzZWQgdG8gdGhlIGxv Z2ljYWwgZGVjb2RpbmcgcGx1Z2luLiBJbiBub3JtYWwgWExPRyBwcm9jZXNzaW5nIHRoZXkKKyAq IGFyZSBzYW1lIGFzIE5PT1AuCisgKgorICogU2ltaWFybCB0byB0aGUgZ2VuZXJpYyBsb2dpY2Fs IG1lc3NhZ2VzLCBUaGVzZSBEREwgbWVzc2FnZXMgY2FuIGJlIGVpdGhlcgorICogdHJhbnNhY3Rp b25hbCBvciBub24tdHJhbnNhY3Rpb25hbC4gTm90ZSBieSBkZWZhdWx0IERETHMgaW4gUG9zdGdy ZVNRTCBhcmUKKyAqIHRyYW5zYWN0aW9uYWwuCisgKiBUcmFuc2FjdGlvbmFsIG1lc3NhZ2VzIGFy ZSBwYXJ0IG9mIGN1cnJlbnQgdHJhbnNhY3Rpb24gYW5kIHdpbGwgYmUgc2VudCB0bworICogZGVj b2RpbmcgcGx1Z2luIHVzaW5nIGluIGEgc2FtZSB3YXkgYXMgRE1MIG9wZXJhdGlvbnMuCisgKiBO b24tdHJhbnNhY3Rpb25hbCBtZXNzYWdlcyBhcmUgc2VudCB0byB0aGUgcGx1Z2luIGF0IHRoZSB0 aW1lIHdoZW4gdGhlCisgKiBsb2dpY2FsIGRlY29kaW5nIHJlYWRzIHRoZW0gZnJvbSBYTE9HLiBU aGlzIGFsc28gbWVhbnMgdGhhdCB0cmFuc2FjdGlvbmFsCisgKiBtZXNzYWdlcyB3b24ndCBiZSBk ZWxpdmVyZWQgaWYgdGhlIHRyYW5zYWN0aW9uIHdhcyByb2xsZWQgYmFjayBidXQgdGhlCisgKiBu b24tdHJhbnNhY3Rpb25hbCBvbmUgd2lsbCBhbHdheXMgYmUgZGVsaXZlcmVkLgorICoKKyAqIEV2 ZXJ5IG1lc3NhZ2UgY2FycmllcyBwcmVmaXggdG8gYXZvaWQgY29uZmxpY3RzIGJldHdlZW4gZGlm ZmVyZW50IGRlY29kaW5nCisgKiBwbHVnaW5zLiBUaGUgcGx1Z2luIGF1dGhvcnMgbXVzdCB0YWtl IGV4dHJhIGNhcmUgdG8gdXNlIHVuaXF1ZSBwcmVmaXgsCisgKiBnb29kIG9wdGlvbnMgc2VlbXMg dG8gYmUgZm9yIGV4YW1wbGUgdG8gdXNlIHRoZSBuYW1lIG9mIHRoZSBleHRlbnNpb24uCisgKgor ICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworI2luY2x1ZGUgInBvc3RncmVzLmgiCisKKyNp bmNsdWRlICJhY2Nlc3MveGFjdC5oIgorI2luY2x1ZGUgImFjY2Vzcy94bG9naW5zZXJ0LmgiCisj aW5jbHVkZSAiY2F0YWxvZy9uYW1lc3BhY2UuaCIKKyNpbmNsdWRlICJtaXNjYWRtaW4uaCIKKyNp bmNsdWRlICJub2Rlcy9leGVjbm9kZXMuaCIKKyNpbmNsdWRlICJyZXBsaWNhdGlvbi9sb2dpY2Fs LmgiCisjaW5jbHVkZSAicmVwbGljYXRpb24vZGRsbWVzc2FnZS5oIgorI2luY2x1ZGUgInV0aWxz L21lbXV0aWxzLmgiCisKKy8qCisgKiBXcml0ZSBsb2dpY2FsIGRlY29kaW5nIERETCBtZXNzYWdl IGludG8gWExvZy4KKyAqLworWExvZ1JlY1B0cgorTG9nTG9naWNhbERETE1lc3NhZ2UoY29uc3Qg Y2hhciAqcHJlZml4LCBPaWQgcm9sZW9pZCwgY29uc3QgY2hhciAqbWVzc2FnZSwKKwkJCQkJIHNp emVfdCBzaXplLCBib29sIHRyYW5zYWN0aW9uYWwpCit7CisJeGxfbG9naWNhbF9kZGxfbWVzc2Fn ZSB4bHJlYzsKKwljb25zdCBjaGFyICpyb2xlOworCisJcm9sZSA9ICBHZXRVc2VyTmFtZUZyb21J ZChyb2xlb2lkLCBmYWxzZSk7CisKKwkvKgorCSAqIEZvcmNlIHhpZCB0byBiZSBhbGxvY2F0ZWQg aWYgd2UncmUgZW1pdHRpbmcgYSB0cmFuc2FjdGlvbmFsIG1lc3NhZ2UuCisJICovCisJaWYgKHRy YW5zYWN0aW9uYWwpCisJeworCQlBc3NlcnQoSXNUcmFuc2FjdGlvblN0YXRlKCkpOworCQlHZXRD dXJyZW50VHJhbnNhY3Rpb25JZCgpOworCX0KKworCXhscmVjLmRiSWQgPSBNeURhdGFiYXNlSWQ7 CisJeGxyZWMudHJhbnNhY3Rpb25hbCA9IHRyYW5zYWN0aW9uYWw7CisJLyogdHJhaWxpbmcgemVy byBpcyBjcml0aWNhbDsgc2VlIGxvZ2ljYWxkZGxtc2dfZGVzYyAqLworCXhscmVjLnByZWZpeF9z aXplID0gc3RybGVuKHByZWZpeCkgKyAxOworCXhscmVjLnJvbGVfc2l6ZSA9IHN0cmxlbihyb2xl KSArIDE7CisJeGxyZWMuc2VhcmNoX3BhdGhfc2l6ZSA9IHN0cmxlbihuYW1lc3BhY2Vfc2VhcmNo X3BhdGgpICsgMTsKKwl4bHJlYy5tZXNzYWdlX3NpemUgPSBzaXplOworCisJWExvZ0JlZ2luSW5z ZXJ0KCk7CisJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxyZWMsIFNpemVPZkxvZ2ljYWxE RExNZXNzYWdlKTsKKwlYTG9nUmVnaXN0ZXJEYXRhKHVuY29uc3RpZnkoY2hhciAqLCBwcmVmaXgp LCB4bHJlYy5wcmVmaXhfc2l6ZSk7CisJWExvZ1JlZ2lzdGVyRGF0YSh1bmNvbnN0aWZ5KGNoYXIg Kiwgcm9sZSksIHhscmVjLnJvbGVfc2l6ZSk7CisJWExvZ1JlZ2lzdGVyRGF0YShuYW1lc3BhY2Vf c2VhcmNoX3BhdGgsIHhscmVjLnNlYXJjaF9wYXRoX3NpemUpOworCVhMb2dSZWdpc3RlckRhdGEo dW5jb25zdGlmeShjaGFyICosIG1lc3NhZ2UpLCBzaXplKTsKKworCS8qIGFsbG93IG9yaWdpbiBm aWx0ZXJpbmcgKi8KKwlYTG9nU2V0UmVjb3JkRmxhZ3MoWExPR19JTkNMVURFX09SSUdJTik7CisK KwlyZXR1cm4gWExvZ0luc2VydChSTV9MT0dJQ0FMRERMTVNHX0lELCBYTE9HX0xPR0lDQUxfRERM X01FU1NBR0UpOworfQorCisvKgorICogUmVkbyBpcyBiYXNpY2FsbHkganVzdCBub29wIGZvciBs b2dpY2FsIGRlY29kaW5nIGRkbCBtZXNzYWdlcy4KKyAqLwordm9pZAorbG9naWNhbGRkbG1zZ19y ZWRvKFhMb2dSZWFkZXJTdGF0ZSAqcmVjb3JkKQoreworCXVpbnQ4CQlpbmZvID0gWExvZ1JlY0dl dEluZm8ocmVjb3JkKSAmIH5YTFJfSU5GT19NQVNLOworCisJaWYgKGluZm8gIT0gWExPR19MT0dJ Q0FMX0RETF9NRVNTQUdFKQorCQllbG9nKFBBTklDLCAibG9naWNhbGRkbG1zZ19yZWRvOiB1bmtu b3duIG9wIGNvZGUgJXUiLCBpbmZvKTsKKworCS8qIFRoaXMgaXMgb25seSBpbnRlcmVzdGluZyBm b3IgbG9naWNhbCBkZWNvZGluZywgc2VlIGRlY29kZS5jLiAqLworfQpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9kZWNvZGUuYyBiL3NyYy9iYWNrZW5kL3JlcGxp Y2F0aW9uL2xvZ2ljYWwvZGVjb2RlLmMKaW5kZXggYWEyNDI3YmE3My4uMDM0YzdmMjQxMyAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9kZWNvZGUuYworKysgYi9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2RlY29kZS5jCkBAIC0zNiw2ICszNiw3IEBA CiAjaW5jbHVkZSAiYWNjZXNzL3hsb2d1dGlscy5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfY29u dHJvbC5oIgogI2luY2x1ZGUgInJlcGxpY2F0aW9uL2RlY29kZS5oIgorI2luY2x1ZGUgInJlcGxp Y2F0aW9uL2RkbG1lc3NhZ2UuaCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi9sb2dpY2FsLmgiCiAj aW5jbHVkZSAicmVwbGljYXRpb24vbWVzc2FnZS5oIgogI2luY2x1ZGUgInJlcGxpY2F0aW9uL29y aWdpbi5oIgpAQCAtNjAzLDYgKzYwNCw2MSBAQCBsb2dpY2FsbXNnX2RlY29kZShMb2dpY2FsRGVj b2RpbmdDb250ZXh0ICpjdHgsIFhMb2dSZWNvcmRCdWZmZXIgKmJ1ZikKIAkJCQkJCQkgIG1lc3Nh Z2UtPm1lc3NhZ2UgKyBtZXNzYWdlLT5wcmVmaXhfc2l6ZSk7CiB9CiAKKy8qCisgKiBIYW5kbGUg cm1nciBMT0dJQ0FMRERMTVNHX0lEIHJlY29yZHMgZm9yIERlY29kZVJlY29yZEludG9SZW9yZGVy QnVmZmVyKCkuCisgKi8KK3ZvaWQKK2xvZ2ljYWxkZGxtc2dfZGVjb2RlKExvZ2ljYWxEZWNvZGlu Z0NvbnRleHQgKmN0eCwgWExvZ1JlY29yZEJ1ZmZlciAqYnVmKQoreworCVNuYXBCdWlsZCAgKmJ1 aWxkZXIgPSBjdHgtPnNuYXBzaG90X2J1aWxkZXI7CisJWExvZ1JlYWRlclN0YXRlICpyID0gYnVm LT5yZWNvcmQ7CisJVHJhbnNhY3Rpb25JZCB4aWQgPSBYTG9nUmVjR2V0WGlkKHIpOworCXVpbnQ4 CQlpbmZvID0gWExvZ1JlY0dldEluZm8ocikgJiB+WExSX0lORk9fTUFTSzsKKwlSZXBPcmlnaW5J ZCBvcmlnaW5faWQgPSBYTG9nUmVjR2V0T3JpZ2luKHIpOworCVNuYXBzaG90CXNuYXBzaG90Owor CXhsX2xvZ2ljYWxfZGRsX21lc3NhZ2UgKm1lc3NhZ2U7CisKKwlpZiAoaW5mbyAhPSBYTE9HX0xP R0lDQUxfRERMX01FU1NBR0UpCisJCWVsb2coRVJST1IsICJ1bmV4cGVjdGVkIFJNX0xPR0lDQUxE RExNU0dfSUQgcmVjb3JkIHR5cGU6ICV1IiwgaW5mbyk7CisKKwlSZW9yZGVyQnVmZmVyUHJvY2Vz c1hpZChjdHgtPnJlb3JkZXIsIFhMb2dSZWNHZXRYaWQociksIGJ1Zi0+b3JpZ3B0cik7CisKKwkv KgorCSAqIElmIHdlIGRvbid0IGhhdmUgc25hcHNob3Qgb3Igd2UgYXJlIGp1c3QgZmFzdC1mb3J3 YXJkaW5nLCB0aGVyZSBpcyBubworCSAqIHBvaW50IGluIGRlY29kaW5nIGRkbCBtZXNzYWdlcy4K KwkgKi8KKwlpZiAoU25hcEJ1aWxkQ3VycmVudFN0YXRlKGJ1aWxkZXIpIDwgU05BUEJVSUxEX0ZV TExfU05BUFNIT1QgfHwKKwkJY3R4LT5mYXN0X2ZvcndhcmQpCisJCXJldHVybjsKKworCW1lc3Nh Z2UgPSAoeGxfbG9naWNhbF9kZGxfbWVzc2FnZSAqKSBYTG9nUmVjR2V0RGF0YShyKTsKKworCWlm IChtZXNzYWdlLT5kYklkICE9IGN0eC0+c2xvdC0+ZGF0YS5kYXRhYmFzZSB8fAorCQlGaWx0ZXJC eU9yaWdpbihjdHgsIG9yaWdpbl9pZCkpCisJCXJldHVybjsKKworCWlmIChtZXNzYWdlLT50cmFu c2FjdGlvbmFsICYmCisJCSFTbmFwQnVpbGRQcm9jZXNzQ2hhbmdlKGJ1aWxkZXIsIHhpZCwgYnVm LT5vcmlncHRyKSkKKwkJcmV0dXJuOworCWVsc2UgaWYgKCFtZXNzYWdlLT50cmFuc2FjdGlvbmFs ICYmCisJCQkgKFNuYXBCdWlsZEN1cnJlbnRTdGF0ZShidWlsZGVyKSAhPSBTTkFQQlVJTERfQ09O U0lTVEVOVCB8fAorCQkJICBTbmFwQnVpbGRYYWN0TmVlZHNTa2lwKGJ1aWxkZXIsIGJ1Zi0+b3Jp Z3B0cikpKQorCQlyZXR1cm47CisKKwlzbmFwc2hvdCA9IFNuYXBCdWlsZEdldE9yQnVpbGRTbmFw c2hvdChidWlsZGVyLCB4aWQpOworCVJlb3JkZXJCdWZmZXJRdWV1ZURETE1lc3NhZ2UoY3R4LT5y ZW9yZGVyLCB4aWQsIHNuYXBzaG90LCBidWYtPmVuZHB0ciwKKwkJCQkJCQkgIG1lc3NhZ2UtPnRy YW5zYWN0aW9uYWwsCisJCQkJCQkJICBtZXNzYWdlLT5tZXNzYWdlLAorCQkJCQkJCSAgLyogZmly c3QgcGFydCBvZiBtZXNzYWdlIGlzIHByZWZpeCAqLworCQkJCQkJCSAgbWVzc2FnZS0+bWVzc2Fn ZSArIG1lc3NhZ2UtPnByZWZpeF9zaXplLAorCQkJCQkJCSAgLyogU2Vjb25kIHBhcnQgb2YgbWVz c2FnZSBpcyByb2xlKi8KKwkJCQkJCQkgIG1lc3NhZ2UtPm1lc3NhZ2UgKyBtZXNzYWdlLT5wcmVm aXhfc2l6ZSArIG1lc3NhZ2UtPnJvbGVfc2l6ZSwKKwkJCQkJCQkgIC8qIFRoaXJkIHBhcnQgb2Yg bWVzc2FnZSBpcyBzZWFyY2hfcGF0aCAqLworCQkJCQkJCSAgbWVzc2FnZS0+bWVzc2FnZV9zaXpl LAorCQkJCQkJCSAgbWVzc2FnZS0+bWVzc2FnZSArIG1lc3NhZ2UtPnByZWZpeF9zaXplICsKKwkJ CQkJCQkgIG1lc3NhZ2UtPnJvbGVfc2l6ZSArIG1lc3NhZ2UtPnNlYXJjaF9wYXRoX3NpemUpOwor fQorCiAvKgogICogQ29uc29saWRhdGVkIGNvbW1pdCByZWNvcmQgaGFuZGxpbmcgYmV0d2VlbiB0 aGUgZGlmZmVyZW50IGZvcm0gb2YgY29tbWl0CiAgKiByZWNvcmRzLgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9sb2dpY2FsLmMgYi9zcmMvYmFja2VuZC9yZXBs aWNhdGlvbi9sb2dpY2FsL2xvZ2ljYWwuYwppbmRleCA2MjVhN2Y0MjczLi4zMDA0ZjAyNDMzIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2xvZ2ljYWwuYworKysg Yi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2xvZ2ljYWwuYwpAQCAtNzMsNiArNzMs MTAgQEAgc3RhdGljIHZvaWQgdHJ1bmNhdGVfY2Jfd3JhcHBlcihSZW9yZGVyQnVmZmVyICpjYWNo ZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogc3RhdGljIHZvaWQgbWVzc2FnZV9jYl93cmFwcGVy KFJlb3JkZXJCdWZmZXIgKmNhY2hlLCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCiAJCQkJCQkJICAg WExvZ1JlY1B0ciBtZXNzYWdlX2xzbiwgYm9vbCB0cmFuc2FjdGlvbmFsLAogCQkJCQkJCSAgIGNv bnN0IGNoYXIgKnByZWZpeCwgU2l6ZSBtZXNzYWdlX3NpemUsIGNvbnN0IGNoYXIgKm1lc3NhZ2Up Oworc3RhdGljIHZvaWQgZGRsbWVzc2FnZV9jYl93cmFwcGVyKFJlb3JkZXJCdWZmZXIgKmNhY2hl LCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCisJCQkJCQkJCSAgWExvZ1JlY1B0ciBtZXNzYWdlX2xz biwgYm9vbCB0cmFuc2FjdGlvbmFsLAorCQkJCQkJCQkgIGNvbnN0IGNoYXIgKnByZWZpeCwgY29u c3QgY2hhciAqcm9sZSwgY29uc3QgY2hhciAqc2VhcmNoX3BhdGgsCisJCQkJCQkJCSAgU2l6ZSBt ZXNzYWdlX3NpemUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOwogCiAvKiBzdHJlYW1pbmcgY2FsbGJh Y2tzICovCiBzdGF0aWMgdm9pZCBzdHJlYW1fc3RhcnRfY2Jfd3JhcHBlcihSZW9yZGVyQnVmZmVy ICpjYWNoZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLApAQCAtOTAsNiArOTQsMTAgQEAgc3RhdGlj IHZvaWQgc3RyZWFtX2NoYW5nZV9jYl93cmFwcGVyKFJlb3JkZXJCdWZmZXIgKmNhY2hlLCBSZW9y ZGVyQnVmZmVyVFhOICp0eG4KIHN0YXRpYyB2b2lkIHN0cmVhbV9tZXNzYWdlX2NiX3dyYXBwZXIo UmVvcmRlckJ1ZmZlciAqY2FjaGUsIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwKIAkJCQkJCQkJCSAg WExvZ1JlY1B0ciBtZXNzYWdlX2xzbiwgYm9vbCB0cmFuc2FjdGlvbmFsLAogCQkJCQkJCQkJICBj b25zdCBjaGFyICpwcmVmaXgsIFNpemUgbWVzc2FnZV9zaXplLCBjb25zdCBjaGFyICptZXNzYWdl KTsKK3N0YXRpYyB2b2lkIHN0cmVhbV9kZGxtZXNzYWdlX2NiX3dyYXBwZXIoUmVvcmRlckJ1ZmZl ciAqY2FjaGUsIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwKKwkJCQkJCQkJCQkgWExvZ1JlY1B0ciBt ZXNzYWdlX2xzbiwgYm9vbCB0cmFuc2FjdGlvbmFsLAorCQkJCQkJCQkJCSBjb25zdCBjaGFyICpw cmVmaXgsIGNvbnN0IGNoYXIgKnJvbGUsIGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoLAorCQkJCQkJ CQkJCSBTaXplIG1lc3NhZ2Vfc2l6ZSwgY29uc3QgY2hhciAqbWVzc2FnZSk7CiBzdGF0aWMgdm9p ZCBzdHJlYW1fdHJ1bmNhdGVfY2Jfd3JhcHBlcihSZW9yZGVyQnVmZmVyICpjYWNoZSwgUmVvcmRl ckJ1ZmZlclRYTiAqdHhuLAogCQkJCQkJCQkJICAgaW50IG5yZWxhdGlvbnMsIFJlbGF0aW9uIHJl bGF0aW9uc1tdLCBSZW9yZGVyQnVmZmVyQ2hhbmdlICpjaGFuZ2UpOwogCkBAIC0yMTgsNiArMjI2 LDcgQEAgU3RhcnR1cERlY29kaW5nQ29udGV4dChMaXN0ICpvdXRwdXRfcGx1Z2luX29wdGlvbnMs CiAJY3R4LT5yZW9yZGVyLT5hcHBseV90cnVuY2F0ZSA9IHRydW5jYXRlX2NiX3dyYXBwZXI7CiAJ Y3R4LT5yZW9yZGVyLT5jb21taXQgPSBjb21taXRfY2Jfd3JhcHBlcjsKIAljdHgtPnJlb3JkZXIt Pm1lc3NhZ2UgPSBtZXNzYWdlX2NiX3dyYXBwZXI7CisJY3R4LT5yZW9yZGVyLT5kZGxtZXNzYWdl ID0gZGRsbWVzc2FnZV9jYl93cmFwcGVyOwogCiAJLyoKIAkgKiBUbyBzdXBwb3J0IHN0cmVhbWlu Zywgd2UgcmVxdWlyZSBzdGFydC9zdG9wL2Fib3J0L2NvbW1pdC9jaGFuZ2UKQEAgLTIzNCw2ICsy NDMsNyBAQCBTdGFydHVwRGVjb2RpbmdDb250ZXh0KExpc3QgKm91dHB1dF9wbHVnaW5fb3B0aW9u cywKIAkJKGN0eC0+Y2FsbGJhY2tzLnN0cmVhbV9jb21taXRfY2IgIT0gTlVMTCkgfHwKIAkJKGN0 eC0+Y2FsbGJhY2tzLnN0cmVhbV9jaGFuZ2VfY2IgIT0gTlVMTCkgfHwKIAkJKGN0eC0+Y2FsbGJh Y2tzLnN0cmVhbV9tZXNzYWdlX2NiICE9IE5VTEwpIHx8CisJCShjdHgtPmNhbGxiYWNrcy5zdHJl YW1fZGRsbWVzc2FnZV9jYiAhPSBOVUxMKSB8fAogCQkoY3R4LT5jYWxsYmFja3Muc3RyZWFtX3Ry dW5jYXRlX2NiICE9IE5VTEwpOwogCiAJLyoKQEAgLTI1MSw2ICsyNjEsNyBAQCBTdGFydHVwRGVj b2RpbmdDb250ZXh0KExpc3QgKm91dHB1dF9wbHVnaW5fb3B0aW9ucywKIAljdHgtPnJlb3JkZXIt PnN0cmVhbV9jb21taXQgPSBzdHJlYW1fY29tbWl0X2NiX3dyYXBwZXI7CiAJY3R4LT5yZW9yZGVy LT5zdHJlYW1fY2hhbmdlID0gc3RyZWFtX2NoYW5nZV9jYl93cmFwcGVyOwogCWN0eC0+cmVvcmRl ci0+c3RyZWFtX21lc3NhZ2UgPSBzdHJlYW1fbWVzc2FnZV9jYl93cmFwcGVyOworCWN0eC0+cmVv cmRlci0+c3RyZWFtX2RkbG1lc3NhZ2UgPSBzdHJlYW1fZGRsbWVzc2FnZV9jYl93cmFwcGVyOwog CWN0eC0+cmVvcmRlci0+c3RyZWFtX3RydW5jYXRlID0gc3RyZWFtX3RydW5jYXRlX2NiX3dyYXBw ZXI7CiAKIApAQCAtMTIyMCw2ICsxMjMxLDQ0IEBAIG1lc3NhZ2VfY2Jfd3JhcHBlcihSZW9yZGVy QnVmZmVyICpjYWNoZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogCWVycm9yX2NvbnRleHRfc3Rh Y2sgPSBlcnJjYWxsYmFjay5wcmV2aW91czsKIH0KIAorc3RhdGljIHZvaWQKK2RkbG1lc3NhZ2Vf Y2Jfd3JhcHBlcihSZW9yZGVyQnVmZmVyICpjYWNoZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAor CQkJCQkgIFhMb2dSZWNQdHIgbWVzc2FnZV9sc24sIGJvb2wgdHJhbnNhY3Rpb25hbCwKKwkJCQkJ ICBjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKnJvbGUsCisJCQkJCSAgY29uc3QgY2hh ciAqc2VhcmNoX3BhdGgsIFNpemUgbWVzc2FnZV9zaXplLAorCQkJCQkgIGNvbnN0IGNoYXIgKm1l c3NhZ2UpCit7CisJTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4ID0gY2FjaGUtPnByaXZhdGVf ZGF0YTsKKwlMb2dpY2FsRXJyb3JDYWxsYmFja1N0YXRlIHN0YXRlOworCUVycm9yQ29udGV4dENh bGxiYWNrIGVycmNhbGxiYWNrOworCisJQXNzZXJ0KCFjdHgtPmZhc3RfZm9yd2FyZCk7CisKKwlp ZiAoY3R4LT5jYWxsYmFja3MuZGRsbWVzc2FnZV9jYiA9PSBOVUxMKQorCQlyZXR1cm47CisKKwkv KiBQdXNoIGNhbGxiYWNrICsgaW5mbyBvbiB0aGUgZXJyb3IgY29udGV4dCBzdGFjayAqLworCXN0 YXRlLmN0eCA9IGN0eDsKKwlzdGF0ZS5jYWxsYmFja19uYW1lID0gImRkbG1lc3NhZ2UiOworCXN0 YXRlLnJlcG9ydF9sb2NhdGlvbiA9IG1lc3NhZ2VfbHNuOworCWVycmNhbGxiYWNrLmNhbGxiYWNr ID0gb3V0cHV0X3BsdWdpbl9lcnJvcl9jYWxsYmFjazsKKwllcnJjYWxsYmFjay5hcmcgPSAodm9p ZCAqKSAmc3RhdGU7CisJZXJyY2FsbGJhY2sucHJldmlvdXMgPSBlcnJvcl9jb250ZXh0X3N0YWNr OworCWVycm9yX2NvbnRleHRfc3RhY2sgPSAmZXJyY2FsbGJhY2s7CisKKwkvKiBzZXQgb3V0cHV0 IHN0YXRlICovCisJY3R4LT5hY2NlcHRfd3JpdGVzID0gdHJ1ZTsKKwljdHgtPndyaXRlX3hpZCA9 IHR4biAhPSBOVUxMID8gdHhuLT54aWQgOiBJbnZhbGlkVHJhbnNhY3Rpb25JZDsKKwljdHgtPndy aXRlX2xvY2F0aW9uID0gbWVzc2FnZV9sc247CisKKwkvKiBkbyB0aGUgYWN0dWFsIHdvcms6IGNh bGwgY2FsbGJhY2sgKi8KKwljdHgtPmNhbGxiYWNrcy5kZGxtZXNzYWdlX2NiKGN0eCwgdHhuLCBt ZXNzYWdlX2xzbiwgdHJhbnNhY3Rpb25hbCwgcHJlZml4LAorCQkJCQkJCQkgcm9sZSwgc2VhcmNo X3BhdGgsIG1lc3NhZ2Vfc2l6ZSwgbWVzc2FnZSk7CisKKwkvKiBQb3AgdGhlIGVycm9yIGNvbnRl eHQgc3RhY2sgKi8KKwllcnJvcl9jb250ZXh0X3N0YWNrID0gZXJyY2FsbGJhY2sucHJldmlvdXM7 Cit9CisKIHN0YXRpYyB2b2lkCiBzdHJlYW1fc3RhcnRfY2Jfd3JhcHBlcihSZW9yZGVyQnVmZmVy ICpjYWNoZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogCQkJCQkJWExvZ1JlY1B0ciBmaXJzdF9s c24pCkBAIC0xNTM1LDYgKzE1ODQsNDggQEAgc3RyZWFtX21lc3NhZ2VfY2Jfd3JhcHBlcihSZW9y ZGVyQnVmZmVyICpjYWNoZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogCWVycm9yX2NvbnRleHRf c3RhY2sgPSBlcnJjYWxsYmFjay5wcmV2aW91czsKIH0KIAorc3RhdGljIHZvaWQKK3N0cmVhbV9k ZGxtZXNzYWdlX2NiX3dyYXBwZXIoUmVvcmRlckJ1ZmZlciAqY2FjaGUsIFJlb3JkZXJCdWZmZXJU WE4gKnR4biwKKwkJCQkJCQkgWExvZ1JlY1B0ciBtZXNzYWdlX2xzbiwgYm9vbCB0cmFuc2FjdGlv bmFsLAorCQkJCQkJCSBjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKnJvbGUsCisJCQkJ CQkJIGNvbnN0IGNoYXIqIHNlYXJjaF9wYXRoLCBTaXplIG1lc3NhZ2Vfc2l6ZSwKKwkJCQkJCQkg Y29uc3QgY2hhciAqbWVzc2FnZSkKK3sKKwlMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHggPSBj YWNoZS0+cHJpdmF0ZV9kYXRhOworCUxvZ2ljYWxFcnJvckNhbGxiYWNrU3RhdGUgc3RhdGU7CisJ RXJyb3JDb250ZXh0Q2FsbGJhY2sgZXJyY2FsbGJhY2s7CisKKwlBc3NlcnQoIWN0eC0+ZmFzdF9m b3J3YXJkKTsKKworCS8qIFdlJ3JlIG9ubHkgc3VwcG9zZWQgdG8gY2FsbCB0aGlzIHdoZW4gc3Ry ZWFtaW5nIGlzIHN1cHBvcnRlZC4gKi8KKwlBc3NlcnQoY3R4LT5zdHJlYW1pbmcpOworCisJLyog dGhpcyBjYWxsYmFjayBpcyBvcHRpb25hbCAqLworCWlmIChjdHgtPmNhbGxiYWNrcy5zdHJlYW1f ZGRsbWVzc2FnZV9jYiA9PSBOVUxMKQorCQlyZXR1cm47CisKKwkvKiBQdXNoIGNhbGxiYWNrICsg aW5mbyBvbiB0aGUgZXJyb3IgY29udGV4dCBzdGFjayAqLworCXN0YXRlLmN0eCA9IGN0eDsKKwlz dGF0ZS5jYWxsYmFja19uYW1lID0gInN0cmVhbV9kZGxtZXNzYWdlIjsKKwlzdGF0ZS5yZXBvcnRf bG9jYXRpb24gPSBtZXNzYWdlX2xzbjsKKwllcnJjYWxsYmFjay5jYWxsYmFjayA9IG91dHB1dF9w bHVnaW5fZXJyb3JfY2FsbGJhY2s7CisJZXJyY2FsbGJhY2suYXJnID0gKHZvaWQgKikgJnN0YXRl OworCWVycmNhbGxiYWNrLnByZXZpb3VzID0gZXJyb3JfY29udGV4dF9zdGFjazsKKwllcnJvcl9j b250ZXh0X3N0YWNrID0gJmVycmNhbGxiYWNrOworCisJLyogc2V0IG91dHB1dCBzdGF0ZSAqLwor CWN0eC0+YWNjZXB0X3dyaXRlcyA9IHRydWU7CisJY3R4LT53cml0ZV94aWQgPSB0eG4gIT0gTlVM TCA/IHR4bi0+eGlkIDogSW52YWxpZFRyYW5zYWN0aW9uSWQ7CisJY3R4LT53cml0ZV9sb2NhdGlv biA9IG1lc3NhZ2VfbHNuOworCisJLyogZG8gdGhlIGFjdHVhbCB3b3JrOiBjYWxsIGNhbGxiYWNr ICovCisJY3R4LT5jYWxsYmFja3Muc3RyZWFtX2RkbG1lc3NhZ2VfY2IoY3R4LCB0eG4sIG1lc3Nh Z2VfbHNuLCB0cmFuc2FjdGlvbmFsLCBwcmVmaXgsCisJCQkJCQkJCQkJcm9sZSwgc2VhcmNoX3Bh dGgsIG1lc3NhZ2Vfc2l6ZSwgbWVzc2FnZSk7CisKKwkvKiBQb3AgdGhlIGVycm9yIGNvbnRleHQg c3RhY2sgKi8KKwllcnJvcl9jb250ZXh0X3N0YWNrID0gZXJyY2FsbGJhY2sucHJldmlvdXM7Cit9 CisKIHN0YXRpYyB2b2lkCiBzdHJlYW1fdHJ1bmNhdGVfY2Jfd3JhcHBlcihSZW9yZGVyQnVmZmVy ICpjYWNoZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogCQkJCQkJICAgaW50IG5yZWxhdGlvbnMs IFJlbGF0aW9uIHJlbGF0aW9uc1tdLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRp b24vbG9naWNhbC9yZW9yZGVyYnVmZmVyLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dp Y2FsL3Jlb3JkZXJidWZmZXIuYwppbmRleCBkYTdiZDEzMjFjLi5hNjlkZWI2NDIwIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Jlb3JkZXJidWZmZXIuYworKysg Yi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Jlb3JkZXJidWZmZXIuYwpAQCAtNTEy LDYgKzUxMiwyMCBAQCBSZW9yZGVyQnVmZmVyUmV0dXJuQ2hhbmdlKFJlb3JkZXJCdWZmZXIgKnJi LCBSZW9yZGVyQnVmZmVyQ2hhbmdlICpjaGFuZ2UsCiAJCQkJcGZyZWUoY2hhbmdlLT5kYXRhLm1z Zy5tZXNzYWdlKTsKIAkJCWNoYW5nZS0+ZGF0YS5tc2cubWVzc2FnZSA9IE5VTEw7CiAJCQlicmVh azsKKwkJY2FzZSBSRU9SREVSX0JVRkZFUl9DSEFOR0VfRERMTUVTU0FHRToKKwkJCWlmIChjaGFu Z2UtPmRhdGEuZGRsbXNnLnByZWZpeCAhPSBOVUxMKQorCQkJCXBmcmVlKGNoYW5nZS0+ZGF0YS5k ZGxtc2cucHJlZml4KTsKKwkJCWNoYW5nZS0+ZGF0YS5kZGxtc2cucHJlZml4ID0gTlVMTDsKKwkJ CWlmIChjaGFuZ2UtPmRhdGEuZGRsbXNnLnJvbGUgIT0gTlVMTCkKKwkJCQlwZnJlZShjaGFuZ2Ut PmRhdGEuZGRsbXNnLnJvbGUpOworCQkJY2hhbmdlLT5kYXRhLmRkbG1zZy5yb2xlID0gTlVMTDsK KwkJCWlmIChjaGFuZ2UtPmRhdGEuZGRsbXNnLnNlYXJjaF9wYXRoICE9IE5VTEwpCisJCQkJcGZy ZWUoY2hhbmdlLT5kYXRhLmRkbG1zZy5zZWFyY2hfcGF0aCk7CisJCQljaGFuZ2UtPmRhdGEuZGRs bXNnLnNlYXJjaF9wYXRoID0gTlVMTDsKKwkJCWlmIChjaGFuZ2UtPmRhdGEuZGRsbXNnLm1lc3Nh Z2UgIT0gTlVMTCkKKwkJCQlwZnJlZShjaGFuZ2UtPmRhdGEuZGRsbXNnLm1lc3NhZ2UpOworCQkJ Y2hhbmdlLT5kYXRhLmRkbG1zZy5tZXNzYWdlID0gTlVMTDsKKwkJCWJyZWFrOwogCQljYXNlIFJF T1JERVJfQlVGRkVSX0NIQU5HRV9JTlZBTElEQVRJT046CiAJCQlpZiAoY2hhbmdlLT5kYXRhLmlu dmFsLmludmFsaWRhdGlvbnMpCiAJCQkJcGZyZWUoY2hhbmdlLT5kYXRhLmludmFsLmludmFsaWRh dGlvbnMpOwpAQCAtODY2LDYgKzg4MCw2NCBAQCBSZW9yZGVyQnVmZmVyUXVldWVNZXNzYWdlKFJl b3JkZXJCdWZmZXIgKnJiLCBUcmFuc2FjdGlvbklkIHhpZCwKIAl9CiB9CiAKKy8qCisgKiBBIHRy YW5zYWN0aW9uYWwgRERMIG1lc3NhZ2UgaXMgcXVldWVkIHRvIGJlIHByb2Nlc3NlZCB1cG9uIGNv bW1pdCBhbmQgYQorICogbm9uLXRyYW5zYWN0aW9uYWwgRERMIG1lc3NhZ2UgZ2V0cyBwcm9jZXNz ZWQgaW1tZWRpYXRlbHkuCisgKi8KK3ZvaWQKK1Jlb3JkZXJCdWZmZXJRdWV1ZURETE1lc3NhZ2Uo UmVvcmRlckJ1ZmZlciAqcmIsIFRyYW5zYWN0aW9uSWQgeGlkLAorCQkJCQkJICBTbmFwc2hvdCBz bmFwc2hvdCwgWExvZ1JlY1B0ciBsc24sCisJCQkJCQkgIGJvb2wgdHJhbnNhY3Rpb25hbCwgY29u c3QgY2hhciAqcHJlZml4LAorCQkJCQkJICBjb25zdCBjaGFyICpyb2xlLCBjb25zdCBjaGFyICpz ZWFyY2hfcGF0aCwKKwkJCQkJCSAgU2l6ZSBtZXNzYWdlX3NpemUsIGNvbnN0IGNoYXIgKm1lc3Nh Z2UpCit7CisJaWYgKHRyYW5zYWN0aW9uYWwpCisJeworCQlNZW1vcnlDb250ZXh0IG9sZGNvbnRl eHQ7CisJCVJlb3JkZXJCdWZmZXJDaGFuZ2UgKmNoYW5nZTsKKworCQlBc3NlcnQoeGlkICE9IElu dmFsaWRUcmFuc2FjdGlvbklkKTsKKworCQlvbGRjb250ZXh0ID0gTWVtb3J5Q29udGV4dFN3aXRj aFRvKHJiLT5jb250ZXh0KTsKKworCQljaGFuZ2UgPSBSZW9yZGVyQnVmZmVyR2V0Q2hhbmdlKHJi KTsKKwkJY2hhbmdlLT5hY3Rpb24gPSBSRU9SREVSX0JVRkZFUl9DSEFOR0VfRERMTUVTU0FHRTsK KwkJY2hhbmdlLT5kYXRhLmRkbG1zZy5wcmVmaXggPSBwc3RyZHVwKHByZWZpeCk7CisJCWNoYW5n ZS0+ZGF0YS5kZGxtc2cucm9sZSA9IHBzdHJkdXAocm9sZSk7CisJCWNoYW5nZS0+ZGF0YS5kZGxt c2cuc2VhcmNoX3BhdGggPSBwc3RyZHVwKHNlYXJjaF9wYXRoKTsKKwkJY2hhbmdlLT5kYXRhLmRk bG1zZy5tZXNzYWdlX3NpemUgPSBtZXNzYWdlX3NpemU7CisJCWNoYW5nZS0+ZGF0YS5kZGxtc2cu bWVzc2FnZSA9IHBhbGxvYyhtZXNzYWdlX3NpemUpOworCQltZW1jcHkoY2hhbmdlLT5kYXRhLmRk bG1zZy5tZXNzYWdlLCBtZXNzYWdlLCBtZXNzYWdlX3NpemUpOworCisJCVJlb3JkZXJCdWZmZXJR dWV1ZUNoYW5nZShyYiwgeGlkLCBsc24sIGNoYW5nZSwgZmFsc2UpOworCisJCU1lbW9yeUNvbnRl eHRTd2l0Y2hUbyhvbGRjb250ZXh0KTsKKwl9CisJZWxzZQorCXsKKwkJUmVvcmRlckJ1ZmZlclRY TiAqdHhuID0gTlVMTDsKKwkJdm9sYXRpbGUgU25hcHNob3Qgc25hcHNob3Rfbm93ID0gc25hcHNo b3Q7CisKKwkJaWYgKHhpZCAhPSBJbnZhbGlkVHJhbnNhY3Rpb25JZCkKKwkJCXR4biA9IFJlb3Jk ZXJCdWZmZXJUWE5CeVhpZChyYiwgeGlkLCB0cnVlLCBOVUxMLCBsc24sIHRydWUpOworCisJCS8q IHNldHVwIHNuYXBzaG90IHRvIGFsbG93IGNhdGFsb2cgYWNjZXNzICovCisJCVNldHVwSGlzdG9y aWNTbmFwc2hvdChzbmFwc2hvdF9ub3csIE5VTEwpOworCQlQR19UUlkoKTsKKwkJeworCQkJcmIt PmRkbG1lc3NhZ2UocmIsIHR4biwgbHNuLCBmYWxzZSwgcHJlZml4LCByb2xlLCBzZWFyY2hfcGF0 aCwgbWVzc2FnZV9zaXplLCBtZXNzYWdlKTsKKworCQkJVGVhcmRvd25IaXN0b3JpY1NuYXBzaG90 KGZhbHNlKTsKKwkJfQorCQlQR19DQVRDSCgpOworCQl7CisJCQlUZWFyZG93bkhpc3RvcmljU25h cHNob3QodHJ1ZSk7CisJCQlQR19SRV9USFJPVygpOworCQl9CisJCVBHX0VORF9UUlkoKTsKKwl9 Cit9CisKIC8qCiAgKiBBc3NlcnRUWE5Mc25PcmRlcgogICoJCVZlcmlmeSBMU04gb3JkZXJpbmcg b2YgdHJhbnNhY3Rpb24gbGlzdHMgaW4gdGhlIHJlb3JkZXJidWZmZXIKQEAgLTE5NTcsNiArMjAy OSwyOSBAQCBSZW9yZGVyQnVmZmVyQXBwbHlNZXNzYWdlKFJlb3JkZXJCdWZmZXIgKnJiLCBSZW9y ZGVyQnVmZmVyVFhOICp0eG4sCiAJCQkJCWNoYW5nZS0+ZGF0YS5tc2cubWVzc2FnZSk7CiB9CiAK Ky8qCisgKiBIZWxwZXIgZnVuY3Rpb24gZm9yIFJlb3JkZXJCdWZmZXJQcm9jZXNzVFhOIGZvciBh cHBseWluZyB0aGUgRERMIG1lc3NhZ2UuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZAorUmVvcmRl ckJ1ZmZlckFwcGx5RERMTWVzc2FnZShSZW9yZGVyQnVmZmVyICpyYiwgUmVvcmRlckJ1ZmZlclRY TiAqdHhuLAorCQkJCQkJCSBSZW9yZGVyQnVmZmVyQ2hhbmdlICpjaGFuZ2UsIGJvb2wgc3RyZWFt aW5nKQoreworCWlmIChzdHJlYW1pbmcpCisJCXJiLT5zdHJlYW1fZGRsbWVzc2FnZShyYiwgdHhu LCBjaGFuZ2UtPmxzbiwgdHJ1ZSwKKwkJCQkJCQkgIGNoYW5nZS0+ZGF0YS5kZGxtc2cucHJlZml4 LAorCQkJCQkJCSAgY2hhbmdlLT5kYXRhLmRkbG1zZy5yb2xlLAorCQkJCQkJCSAgY2hhbmdlLT5k YXRhLmRkbG1zZy5zZWFyY2hfcGF0aCwKKwkJCQkJCQkgIGNoYW5nZS0+ZGF0YS5kZGxtc2cubWVz c2FnZV9zaXplLAorCQkJCQkJCSAgY2hhbmdlLT5kYXRhLmRkbG1zZy5tZXNzYWdlKTsKKwllbHNl CisJCXJiLT5kZGxtZXNzYWdlKHJiLCB0eG4sIGNoYW5nZS0+bHNuLCB0cnVlLAorCQkJCQkgICBj aGFuZ2UtPmRhdGEuZGRsbXNnLnByZWZpeCwKKwkJCQkJICAgY2hhbmdlLT5kYXRhLmRkbG1zZy5y b2xlLAorCQkJCQkgICBjaGFuZ2UtPmRhdGEuZGRsbXNnLnNlYXJjaF9wYXRoLAorCQkJCQkgICBj aGFuZ2UtPmRhdGEuZGRsbXNnLm1lc3NhZ2Vfc2l6ZSwKKwkJCQkJICAgY2hhbmdlLT5kYXRhLmRk bG1zZy5tZXNzYWdlKTsKK30KKwogLyoKICAqIEZ1bmN0aW9uIHRvIHN0b3JlIHRoZSBjb21tYW5k IGlkIGFuZCBzbmFwc2hvdCBhdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50CiAgKiBzdHJlYW0gc28g dGhhdCB3ZSBjYW4gcmV1c2UgdGhlIHNhbWUgd2hpbGUgc2VuZGluZyB0aGUgbmV4dCBzdHJlYW0u CkBAIC0yMzM1LDYgKzI0MzAsMTAgQEAgUmVvcmRlckJ1ZmZlclByb2Nlc3NUWE4oUmVvcmRlckJ1 ZmZlciAqcmIsIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwKIAkJCQkJUmVvcmRlckJ1ZmZlckFwcGx5 TWVzc2FnZShyYiwgdHhuLCBjaGFuZ2UsIHN0cmVhbWluZyk7CiAJCQkJCWJyZWFrOwogCisJCQkJ Y2FzZSBSRU9SREVSX0JVRkZFUl9DSEFOR0VfRERMTUVTU0FHRToKKwkJCQkJUmVvcmRlckJ1ZmZl ckFwcGx5RERMTWVzc2FnZShyYiwgdHhuLCBjaGFuZ2UsIHN0cmVhbWluZyk7CisJCQkJCWJyZWFr OworCiAJCQkJY2FzZSBSRU9SREVSX0JVRkZFUl9DSEFOR0VfSU5WQUxJREFUSU9OOgogCQkJCQkv KiBFeGVjdXRlIHRoZSBpbnZhbGlkYXRpb24gbWVzc2FnZXMgbG9jYWxseSAqLwogCQkJCQlSZW9y ZGVyQnVmZmVyRXhlY3V0ZUludmFsaWRhdGlvbnMoCkBAIC0zNzA5LDYgKzM4MDgsNTMgQEAgUmVv cmRlckJ1ZmZlclNlcmlhbGl6ZUNoYW5nZShSZW9yZGVyQnVmZmVyICpyYiwgUmVvcmRlckJ1ZmZl clRYTiAqdHhuLAogCQkJCQkgICBjaGFuZ2UtPmRhdGEubXNnLm1lc3NhZ2Vfc2l6ZSk7CiAJCQkJ ZGF0YSArPSBjaGFuZ2UtPmRhdGEubXNnLm1lc3NhZ2Vfc2l6ZTsKIAorCQkJCWJyZWFrOworCQkJ fQorCQljYXNlIFJFT1JERVJfQlVGRkVSX0NIQU5HRV9ERExNRVNTQUdFOgorCQkJeworCQkJCWNo YXIJICAgKmRhdGE7CisJCQkJU2l6ZQkJcHJlZml4X3NpemUgPSBzdHJsZW4oY2hhbmdlLT5kYXRh LmRkbG1zZy5wcmVmaXgpICsgMTsKKwkJCQlTaXplCQlyb2xlX3NpemUgPSBzdHJsZW4oY2hhbmdl LT5kYXRhLmRkbG1zZy5yb2xlKSArIDE7CisJCQkJU2l6ZQkJc2VhcmNoX3BhdGhfc2l6ZSA9IHN0 cmxlbihjaGFuZ2UtPmRhdGEuZGRsbXNnLnNlYXJjaF9wYXRoKSArIDE7CisKKwkJCQlzeiArPSBw cmVmaXhfc2l6ZSArIHJvbGVfc2l6ZSArIHNlYXJjaF9wYXRoX3NpemUgKworCQkJCQkgIGNoYW5n ZS0+ZGF0YS5kZGxtc2cubWVzc2FnZV9zaXplICsKKwkJCQkJICBzaXplb2YoU2l6ZSkgKyBzaXpl b2YoU2l6ZSkgKyBzaXplb2YoU2l6ZSkgKyBzaXplb2YoU2l6ZSk7CisJCQkJUmVvcmRlckJ1ZmZl clNlcmlhbGl6ZVJlc2VydmUocmIsIHN6KTsKKworCQkJCWRhdGEgPSAoKGNoYXIgKikgcmItPm91 dGJ1ZikgKyBzaXplb2YoUmVvcmRlckJ1ZmZlckRpc2tDaGFuZ2UpOworCisJCQkJLyogbWlnaHQg aGF2ZSBiZWVuIHJlYWxsb2NhdGVkIGFib3ZlICovCisJCQkJb25kaXNrID0gKFJlb3JkZXJCdWZm ZXJEaXNrQ2hhbmdlICopIHJiLT5vdXRidWY7CisKKwkJCQkvKiB3cml0ZSB0aGUgcHJlZml4IGlu Y2x1ZGluZyB0aGUgc2l6ZSAqLworCQkJCW1lbWNweShkYXRhLCAmcHJlZml4X3NpemUsIHNpemVv ZihTaXplKSk7CisJCQkJZGF0YSArPSBzaXplb2YoU2l6ZSk7CisJCQkJbWVtY3B5KGRhdGEsIGNo YW5nZS0+ZGF0YS5kZGxtc2cucHJlZml4LAorCQkJCQkgICBwcmVmaXhfc2l6ZSk7CisJCQkJZGF0 YSArPSBwcmVmaXhfc2l6ZTsKKworCQkJCS8qIHdyaXRlIHRoZSByb2xlIGluY2x1ZGluZyB0aGUg c2l6ZSAqLworCQkJCW1lbWNweShkYXRhLCAmcm9sZV9zaXplLCBzaXplb2YoU2l6ZSkpOworCQkJ CWRhdGEgKz0gc2l6ZW9mKFNpemUpOworCQkJCW1lbWNweShkYXRhLCBjaGFuZ2UtPmRhdGEuZGRs bXNnLnJvbGUsCisJCQkJCSAgIHJvbGVfc2l6ZSk7CisJCQkJZGF0YSArPSByb2xlX3NpemU7CisK KwkJCQkvKiB3cml0ZSB0aGUgc2VhcmNoX3BhdGggaW5jbHVkaW5nIHRoZSBzaXplICovCisJCQkJ bWVtY3B5KGRhdGEsICZzZWFyY2hfcGF0aF9zaXplLCBzaXplb2YoU2l6ZSkpOworCQkJCWRhdGEg Kz0gc2l6ZW9mKFNpemUpOworCQkJCW1lbWNweShkYXRhLCBjaGFuZ2UtPmRhdGEuZGRsbXNnLnNl YXJjaF9wYXRoLAorCQkJCQkgICBzZWFyY2hfcGF0aF9zaXplKTsKKwkJCQlkYXRhICs9IHNlYXJj aF9wYXRoX3NpemU7CisKKwkJCQkvKiB3cml0ZSB0aGUgbWVzc2FnZSBpbmNsdWRpbmcgdGhlIHNp emUgKi8KKwkJCQltZW1jcHkoZGF0YSwgJmNoYW5nZS0+ZGF0YS5kZGxtc2cubWVzc2FnZV9zaXpl LCBzaXplb2YoU2l6ZSkpOworCQkJCWRhdGEgKz0gc2l6ZW9mKFNpemUpOworCQkJCW1lbWNweShk YXRhLCBjaGFuZ2UtPmRhdGEuZGRsbXNnLm1lc3NhZ2UsCisJCQkJCSAgIGNoYW5nZS0+ZGF0YS5k ZGxtc2cubWVzc2FnZV9zaXplKTsKKwkJCQlkYXRhICs9IGNoYW5nZS0+ZGF0YS5kZGxtc2cubWVz c2FnZV9zaXplOworCiAJCQkJYnJlYWs7CiAJCQl9CiAJCWNhc2UgUkVPUkRFUl9CVUZGRVJfQ0hB TkdFX0lOVkFMSURBVElPTjoKQEAgLTQwMjMsNiArNDE2OSwxOCBAQCBSZW9yZGVyQnVmZmVyQ2hh bmdlU2l6ZShSZW9yZGVyQnVmZmVyQ2hhbmdlICpjaGFuZ2UpCiAJCQkJc3ogKz0gcHJlZml4X3Np emUgKyBjaGFuZ2UtPmRhdGEubXNnLm1lc3NhZ2Vfc2l6ZSArCiAJCQkJCXNpemVvZihTaXplKSAr IHNpemVvZihTaXplKTsKIAorCQkJCWJyZWFrOworCQkJfQorCQljYXNlIFJFT1JERVJfQlVGRkVS X0NIQU5HRV9ERExNRVNTQUdFOgorCQkJeworCQkJCVNpemUJCXByZWZpeF9zaXplID0gc3RybGVu KGNoYW5nZS0+ZGF0YS5kZGxtc2cucHJlZml4KSArIDE7CisJCQkJU2l6ZQkJcm9sZV9zaXplID0g c3RybGVuKGNoYW5nZS0+ZGF0YS5kZGxtc2cucm9sZSkgKyAxOworCQkJCVNpemUJCXNlYXJjaF9w YXRoX3NpemUgPSBzdHJsZW4oY2hhbmdlLT5kYXRhLmRkbG1zZy5zZWFyY2hfcGF0aCkgKyAxOwor CisJCQkJc3ogKz0gcHJlZml4X3NpemUgKyByb2xlX3NpemUgKyBzZWFyY2hfcGF0aF9zaXplICsK KwkJCQkJY2hhbmdlLT5kYXRhLmRkbG1zZy5tZXNzYWdlX3NpemUgKworCQkJCQlzaXplb2YoU2l6 ZSkgKyBzaXplb2YoU2l6ZSkgKyBzaXplb2YoU2l6ZSkgKyBzaXplb2YoU2l6ZSk7CisKIAkJCQli cmVhazsKIAkJCX0KIAkJY2FzZSBSRU9SREVSX0JVRkZFUl9DSEFOR0VfSU5WQUxJREFUSU9OOgpA QCAtNDI4Myw4ICs0NDQxLDcgQEAgUmVvcmRlckJ1ZmZlclJlc3RvcmVDaGFuZ2UoUmVvcmRlckJ1 ZmZlciAqcmIsIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwKIAkJCQkvKiByZWFkIHByZWZpeCAqLwog CQkJCW1lbWNweSgmcHJlZml4X3NpemUsIGRhdGEsIHNpemVvZihTaXplKSk7CiAJCQkJZGF0YSAr PSBzaXplb2YoU2l6ZSk7Ci0JCQkJY2hhbmdlLT5kYXRhLm1zZy5wcmVmaXggPSBNZW1vcnlDb250 ZXh0QWxsb2MocmItPmNvbnRleHQsCi0JCQkJCQkJCQkJCQkJCQkgcHJlZml4X3NpemUpOworCQkJ CWNoYW5nZS0+ZGF0YS5tc2cucHJlZml4ID0gTWVtb3J5Q29udGV4dEFsbG9jKHJiLT5jb250ZXh0 LCBwcmVmaXhfc2l6ZSk7CiAJCQkJbWVtY3B5KGNoYW5nZS0+ZGF0YS5tc2cucHJlZml4LCBkYXRh LCBwcmVmaXhfc2l6ZSk7CiAJCQkJQXNzZXJ0KGNoYW5nZS0+ZGF0YS5tc2cucHJlZml4W3ByZWZp eF9zaXplIC0gMV0gPT0gJ1wwJyk7CiAJCQkJZGF0YSArPSBwcmVmaXhfc2l6ZTsKQEAgLTQyOTgs NiArNDQ1NSw0OSBAQCBSZW9yZGVyQnVmZmVyUmVzdG9yZUNoYW5nZShSZW9yZGVyQnVmZmVyICpy YiwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogCQkJCQkgICBjaGFuZ2UtPmRhdGEubXNnLm1lc3Nh Z2Vfc2l6ZSk7CiAJCQkJZGF0YSArPSBjaGFuZ2UtPmRhdGEubXNnLm1lc3NhZ2Vfc2l6ZTsKIAor CQkJCWJyZWFrOworCQkJfQorCQljYXNlIFJFT1JERVJfQlVGRkVSX0NIQU5HRV9ERExNRVNTQUdF OgorCQkJeworCQkJCVNpemUJCXByZWZpeF9zaXplOworCQkJCVNpemUJCXJvbGVfc2l6ZTsKKwkJ CQlTaXplCQlzZWFyY2hfcGF0aF9zaXplOworCisJCQkJLyogcmVhZCBwcmVmaXggKi8KKwkJCQlt ZW1jcHkoJnByZWZpeF9zaXplLCBkYXRhLCBzaXplb2YoU2l6ZSkpOworCQkJCWRhdGEgKz0gc2l6 ZW9mKFNpemUpOworCQkJCWNoYW5nZS0+ZGF0YS5kZGxtc2cucHJlZml4ID0gTWVtb3J5Q29udGV4 dEFsbG9jKHJiLT5jb250ZXh0LCBwcmVmaXhfc2l6ZSk7CisJCQkJbWVtY3B5KGNoYW5nZS0+ZGF0 YS5kZGxtc2cucHJlZml4LCBkYXRhLCBwcmVmaXhfc2l6ZSk7CisJCQkJQXNzZXJ0KGNoYW5nZS0+ ZGF0YS5kZGxtc2cucHJlZml4W3ByZWZpeF9zaXplIC0gMV0gPT0gJ1wwJyk7CisJCQkJZGF0YSAr PSBwcmVmaXhfc2l6ZTsKKworCQkJCS8qIHJlYWQgcm9sZSAqLworCQkJCW1lbWNweSgmcm9sZV9z aXplLCBkYXRhLCBzaXplb2YoU2l6ZSkpOworCQkJCWRhdGEgKz0gc2l6ZW9mKFNpemUpOworCQkJ CWNoYW5nZS0+ZGF0YS5kZGxtc2cucm9sZSA9IE1lbW9yeUNvbnRleHRBbGxvYyhyYi0+Y29udGV4 dCwKKwkJCQkJCQkJCQkJCQkJCSAgcm9sZV9zaXplKTsKKwkJCQltZW1jcHkoY2hhbmdlLT5kYXRh LmRkbG1zZy5yb2xlLCBkYXRhLCByb2xlX3NpemUpOworCQkJCUFzc2VydChjaGFuZ2UtPmRhdGEu ZGRsbXNnLnJvbGVbcm9sZV9zaXplIC0gMV0gPT0gJ1wwJyk7CisJCQkJZGF0YSArPSByb2xlX3Np emU7CisKKwkJCQkvKiByZWFkIHNlYXJjaF9wYXRoICovCisJCQkJbWVtY3B5KCZzZWFyY2hfcGF0 aF9zaXplLCBkYXRhLCBzaXplb2YoU2l6ZSkpOworCQkJCWRhdGEgKz0gc2l6ZW9mKFNpemUpOwor CQkJCWNoYW5nZS0+ZGF0YS5kZGxtc2cuc2VhcmNoX3BhdGggPSBNZW1vcnlDb250ZXh0QWxsb2Mo cmItPmNvbnRleHQsCisJCQkJCQkJCQkJCQkJCQkJCSBzZWFyY2hfcGF0aF9zaXplKTsKKwkJCQlt ZW1jcHkoY2hhbmdlLT5kYXRhLmRkbG1zZy5zZWFyY2hfcGF0aCwgZGF0YSwgc2VhcmNoX3BhdGhf c2l6ZSk7CisJCQkJQXNzZXJ0KGNoYW5nZS0+ZGF0YS5kZGxtc2cuc2VhcmNoX3BhdGhbc2VhcmNo X3BhdGhfc2l6ZSAtIDFdID09ICdcMCcpOworCQkJCWRhdGEgKz0gc2VhcmNoX3BhdGhfc2l6ZTsK KworCQkJCS8qIHJlYWQgdGhlIG1lc3NhZ2UgKi8KKwkJCQltZW1jcHkoJmNoYW5nZS0+ZGF0YS5t c2cubWVzc2FnZV9zaXplLCBkYXRhLCBzaXplb2YoU2l6ZSkpOworCQkJCWRhdGEgKz0gc2l6ZW9m KFNpemUpOworCQkJCWNoYW5nZS0+ZGF0YS5tc2cubWVzc2FnZSA9IE1lbW9yeUNvbnRleHRBbGxv YyhyYi0+Y29udGV4dCwKKwkJCQkJCQkJCQkJCQkJCSAgY2hhbmdlLT5kYXRhLm1zZy5tZXNzYWdl X3NpemUpOworCQkJCW1lbWNweShjaGFuZ2UtPmRhdGEubXNnLm1lc3NhZ2UsIGRhdGEsCisJCQkJ CSAgIGNoYW5nZS0+ZGF0YS5tc2cubWVzc2FnZV9zaXplKTsKKwkJCQlkYXRhICs9IGNoYW5nZS0+ ZGF0YS5tc2cubWVzc2FnZV9zaXplOworCiAJCQkJYnJlYWs7CiAJCQl9CiAJCWNhc2UgUkVPUkRF Ul9CVUZGRVJfQ0hBTkdFX0lOVkFMSURBVElPTjoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rj b3AvdXRpbGl0eS5jIGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKaW5kZXggMGU3YjdiMzEz OC4uODQ5YjZkNGY3YSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKKysr IGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKQEAgLTYyLDYgKzYyLDcgQEAKICNpbmNsdWRl ICJtaXNjYWRtaW4uaCIKICNpbmNsdWRlICJwYXJzZXIvcGFyc2VfdXRpbGNtZC5oIgogI2luY2x1 ZGUgInBvc3RtYXN0ZXIvYmd3cml0ZXIuaCIKKyNpbmNsdWRlICJyZXBsaWNhdGlvbi9kZGxtZXNz YWdlLmgiCiAjaW5jbHVkZSAicmV3cml0ZS9yZXdyaXRlRGVmaW5lLmgiCiAjaW5jbHVkZSAicmV3 cml0ZS9yZXdyaXRlUmVtb3ZlLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9mZC5oIgpAQCAtODYsNyAr ODcsNyBAQCBzdGF0aWMgdm9pZCBQcm9jZXNzVXRpbGl0eVNsb3coUGFyc2VTdGF0ZSAqcHN0YXRl LAogCQkJCQkJCSAgIFF1ZXJ5RW52aXJvbm1lbnQgKnF1ZXJ5RW52LAogCQkJCQkJCSAgIERlc3RS ZWNlaXZlciAqZGVzdCwKIAkJCQkJCQkgICBRdWVyeUNvbXBsZXRpb24gKnFjKTsKLXN0YXRpYyB2 b2lkIEV4ZWNEcm9wU3RtdChEcm9wU3RtdCAqc3RtdCwgYm9vbCBpc1RvcExldmVsKTsKK3N0YXRp YyB2b2lkIEV4ZWNEcm9wU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIERyb3BTdG10ICpzdG10LCBi b29sIGlzVG9wTGV2ZWwpOwogCiAvKgogICogQ29tbWFuZElzUmVhZE9ubHk6IGlzIGFuIGV4ZWN1 dGFibGUgcXVlcnkgcmVhZC1vbmx5PwpAQCAtOTg3LDcgKzk4OCw3IEBAIHN0YW5kYXJkX1Byb2Nl c3NVdGlsaXR5KFBsYW5uZWRTdG10ICpwc3RtdCwKIAkJCQkJCQkJCSAgIGNvbnRleHQsIHBhcmFt cywgcXVlcnlFbnYsCiAJCQkJCQkJCQkgICBkZXN0LCBxYyk7CiAJCQkJZWxzZQotCQkJCQlFeGVj RHJvcFN0bXQoc3RtdCwgaXNUb3BMZXZlbCk7CisJCQkJCUV4ZWNEcm9wU3RtdChwc3RhdGUsIHN0 bXQsIGlzVG9wTGV2ZWwpOwogCQkJfQogCQkJYnJlYWs7CiAKQEAgLTEwODcsNiArMTA4OCwxNTQg QEAgc3RhbmRhcmRfUHJvY2Vzc1V0aWxpdHkoUGxhbm5lZFN0bXQgKnBzdG10LAogCUNvbW1hbmRD b3VudGVySW5jcmVtZW50KCk7CiB9CiAKKy8qCisgKiBMb2cgYSBEREwgY29tbWFuZCBmb3IgbG9n aWNhbCByZXBsaWNhdGlvbgorICogU29tZSBERExzIGFyZSBvbmx5IHJlcGxpY2F0ZWQgaW4gRGF0 YWJhc2UgTGV2ZWwgRERMIHJlcGxpY2F0aW9uCisgKiBTb21lIGNhbiBiZSByZXBsaWNhdGVkIGlu IFRhYmxlIExldmVsIERETCByZXBsaWNhdGlvbi4KKyAqCisgKiBDdXJyZW50bHkgd2UgZm9jdXMg b24gc3VwcG9ydGluZyBEYXRhYmFzZSBMZXZlbCBEREwgcmVwbGljYXRpb24KKyAqLworc3RhdGlj IHZvaWQKK0xvZ0xvZ2ljYWxERExDb21tYW5kKE5vZGUgKnBhcnNldHJlZSwgY29uc3QgY2hhciAq cXVlcnlTdHJpbmcpCit7CisJc3dpdGNoIChub2RlVGFnKHBhcnNldHJlZSkpCisJeworCQkvKiBG aXNydGx5LCBjb21tYW5kcyB0aGF0IGFyZSBvbmx5IHN1cHBvcnRlZCBpbiBEYXRhYmFzZSBsZXZl bCBEREwgcmVwbGljYXRpb24gKi8KKwkJY2FzZSBUX0NyZWF0ZVNjaGVtYVN0bXQ6CisJCWNhc2Ug VF9DcmVhdGVTdG10OgorCQljYXNlIFRfQ3JlYXRlRm9yZWlnblRhYmxlU3RtdDoKKwkJY2FzZSBU X0FsdGVyRG9tYWluU3RtdDoKKwkJY2FzZSBUX0RlZmluZVN0bXQ6CisJCWNhc2UgVF9Db21wb3Np dGVUeXBlU3RtdDoKKwkJY2FzZSBUX0NyZWF0ZUVudW1TdG10OgorCQljYXNlIFRfQ3JlYXRlUmFu Z2VTdG10OgorCQljYXNlIFRfQWx0ZXJFbnVtU3RtdDoKKwkJY2FzZSBUX1ZpZXdTdG10OgorCQlj YXNlIFRfQ3JlYXRlRnVuY3Rpb25TdG10OgorCQljYXNlIFRfQWx0ZXJGdW5jdGlvblN0bXQ6CisJ CWNhc2UgVF9DcmVhdGVUcmlnU3RtdDoKKwkJY2FzZSBUX0NyZWF0ZURvbWFpblN0bXQ6CisJCWNh c2UgVF9DcmVhdGVDYXN0U3RtdDoKKwkJY2FzZSBUX0NyZWF0ZU9wQ2xhc3NTdG10OgorCQljYXNl IFRfQ3JlYXRlT3BGYW1pbHlTdG10OgorCQljYXNlIFRfQWx0ZXJPcEZhbWlseVN0bXQ6CisJCWNh c2UgVF9BbHRlck9wZXJhdG9yU3RtdDoKKwkJY2FzZSBUX0FsdGVyVHlwZVN0bXQ6CisJCWNhc2Ug VF9HcmFudFN0bXQ6CisJCWNhc2UgVF9BbHRlckNvbGxhdGlvblN0bXQ6CisJCQkvKgorCQkJICog TG9nIHRoZXNlIHN0bXQgZm9yIGxvZ2ljYWwgcmVwbGljYXRpb24gaWYKKwkJCSAqIHRoZXJlIGlz IGFueSBGT1IgQUxMIFRBQkxFUyBwdWJsaWNhdGlvbiB3aXRoIHB1YmRkbF9kYXRhYmFzZSBvbi4K KwkJCSAqIGkuZS4gRGF0YWJhc2UgbGV2ZWwgRERMIHJlcGxpY2F0aW9uIGlzIG9uIGZvciBzb21l IHB1YmxpY2F0aW9uLgorCQkJICovCisJCQlpZiAoZGRsX25lZWRfeGxvZyhJbnZhbGlkT2lkLCB0 cnVlLCB0cnVlKSkKKwkJCXsKKwkJCQlib29sIHRyYW5zYWN0aW9uYWwgPSB0cnVlOworCQkJCWNv bnN0IGNoYXIqIHByZWZpeCA9ICIiOworCQkJCUxvZ0xvZ2ljYWxERExNZXNzYWdlKHByZWZpeCwK KwkJCQkJCQkJCSBHZXRVc2VySWQoKSwKKwkJCQkJCQkJCSBxdWVyeVN0cmluZywKKwkJCQkJCQkJ CSBzdHJsZW4ocXVlcnlTdHJpbmcpLAorCQkJCQkJCQkJIHRyYW5zYWN0aW9uYWwpOworCQkJfQor CQkJYnJlYWs7CisKKwkJLyoKKwkJICogU2Vjb25kbHksIGNvbW1hbmRzIHRoYXQgbWF5IGJlIGFs bG93ZWQgaW4gVGFibGUgbGV2ZWwgRERMIHJlcGxpY2F0aW9uLgorCQkgKiBUaGVzZSBhcmUgY3Vy cmVudGx5IGhhbmRsZWQgaW4gdGhlIGxhdGVyIGV4ZWN1dGlvbiBwYXRoIG9mIHRoZSBjb21tYW5k LgorCQkgKiBCZWNhdXNlIHdlIG5lZWQgdG8gZ2V0IHRoZSByZWxhdGlvbiBpZCB3aGljaCByZWFk aWx5IGF2YWlsYWJsZSBpbiBsYXRlcgorCQkgKiBjb2RlIHBhdGguCisJCSAqLworCQljYXNlIFRf QWx0ZXJUYWJsZVN0bXQ6CisJCWNhc2UgVF9JbmRleFN0bXQ6CisJCWNhc2UgVF9SZW5hbWVTdG10 OiAvKiBUT0RPICovCisJCWNhc2UgVF9BbHRlck93bmVyU3RtdDogLyogVE9ETyAqLworCQkJYnJl YWs7CisKKwkJLyogRHJvcFN0bXQgZGVwZW5kcyBvbiB0aGUgcmVtb3ZlVHlwZSAqLworCQljYXNl IFRfRHJvcFN0bXQ6CisJCXsKKwkJCURyb3BTdG10KiBzdG10ID0gKERyb3BTdG10KikgcGFyc2V0 cmVlOworCQkJc3dpdGNoIChzdG10LT5yZW1vdmVUeXBlKQorCQkJeworCQkJCS8qIE1heWJlIGFs bG93ZWQgaW4gVGFibGUgbGV2ZWwgRERMIHJlcGxpY2F0aW9uLCBoYW5kbGVkIGluIGxhdGVyIGNv ZGUgcGF0aCAqLworCQkJCWNhc2UgT0JKRUNUX0lOREVYOgorCQkJCWNhc2UgT0JKRUNUX1RBQkxF OgorCQkJCQlicmVhazsKKwkJCQkvKiBEcm9wIG9mIHNlcXVlbmNlIGlzIGJ5IGxvZ2ljYWwgcmVw bGljYXRpb24gb2Ygc2VxdWVuY2VzIHNlcGFyYXRlbHkgKi8KKwkJCQljYXNlIE9CSkVDVF9TRVFV RU5DRToKKwkJCQkJYnJlYWs7CisJCQkJLyogRHJvcCBvZiBvdGhlciBvYmplY3RzIGFyZSBhbGxv d2VkIGluIERhdGFiYXNlIGxldmVsIERETCByZXBsaWNhdGlvbiBvbmx5ICovCisJCQkJY2FzZSBP QkpFQ1RfVklFVzoKKwkJCQljYXNlIE9CSkVDVF9NQVRWSUVXOgorCQkJCWNhc2UgT0JKRUNUX0ZP UkVJR05fVEFCTEU6CisJCQkJZGVmYXVsdDoKKwkJCQkJLyoKKwkJCQkJICogTG9nIHRoZXNlIERy b3BTdG10IGZvciBsb2dpY2FsIHJlcGxpY2F0aW9uIGlmCisJCQkJCSAqIHRoZXJlIGlzIGFueSBG T1IgQUxMIFRBQkxFUyBwdWJsaWNhdGlvbiB3aXRoIHB1YmRkbF9kYXRhYmFzZSBvbi4KKwkJCQkJ ICogaS5lLiBEYXRhYmFzZSBsZXZlbCBEREwgcmVwbGljYXRpb24gaXMgb24gZm9yIHNvbWUgcHVi bGljYXRpb24uCisJCQkJCSAqLworCQkJCQlpZiAoZGRsX25lZWRfeGxvZyhJbnZhbGlkT2lkLCB0 cnVlLCB0cnVlKSkKKwkJCQkJeworCQkJCQkJYm9vbCB0cmFuc2FjdGlvbmFsID0gdHJ1ZTsKKwkJ CQkJCWNvbnN0IGNoYXIqIHByZWZpeCA9ICIiOworCQkJCQkJTG9nTG9naWNhbERETE1lc3NhZ2Uo cHJlZml4LAorCQkJCQkJCQkJCQkgR2V0VXNlcklkKCksCisJCQkJCQkJCQkJCSBxdWVyeVN0cmlu ZywKKwkJCQkJCQkJCQkJIHN0cmxlbihxdWVyeVN0cmluZyksCisJCQkJCQkJCQkJCSB0cmFuc2Fj dGlvbmFsKTsKKwkJCQkJfQorCQkJCQlicmVhazsKKwkJCX0KKwkJfQorCQkvKgorCQkgKiBMYXN0 bHksIHJ1bGUgb3V0IERETHMgd2UgZG9uJ3QgcmVwbGljYXRlIHlldCBpbiBEREwgcmVwbGljYXRp b24KKwkJICogU29tZSBvZiB0aGVzZSBjYW4gYmUgc3VwcG9ydGVkLCB3ZSBqdXN0IG5lZWQgdG8g aW52ZXN0aWdhdGUgYW5kIHJ1biB0ZXN0cy4KKwkJICovCisJCWNhc2UgVF9DcmVhdGVFeHRlbnNp b25TdG10OgorCQljYXNlIFRfQWx0ZXJFeHRlbnNpb25TdG10OgorCQljYXNlIFRfQWx0ZXJFeHRl bnNpb25Db250ZW50c1N0bXQ6CisJCWNhc2UgVF9DcmVhdGVGZHdTdG10OgorCQljYXNlIFRfQWx0 ZXJGZHdTdG10OgorCQljYXNlIFRfQ3JlYXRlRm9yZWlnblNlcnZlclN0bXQ6CisJCWNhc2UgVF9B bHRlckZvcmVpZ25TZXJ2ZXJTdG10OgorCQljYXNlIFRfQ3JlYXRlVXNlck1hcHBpbmdTdG10Ogor CQljYXNlIFRfQWx0ZXJVc2VyTWFwcGluZ1N0bXQ6CisJCWNhc2UgVF9Ecm9wVXNlck1hcHBpbmdT dG10OgorCQljYXNlIFRfSW1wb3J0Rm9yZWlnblNjaGVtYVN0bXQ6CisJCWNhc2UgVF9SdWxlU3Rt dDoKKwkJY2FzZSBUX0NyZWF0ZVNlcVN0bXQ6CisJCWNhc2UgVF9BbHRlclNlcVN0bXQ6CisJCWNh c2UgVF9DcmVhdGVUYWJsZUFzU3RtdDoKKwkJY2FzZSBUX1JlZnJlc2hNYXRWaWV3U3RtdDoKKwkJ Y2FzZSBUX0NyZWF0ZVBMYW5nU3RtdDoKKwkJY2FzZSBUX0NyZWF0ZUNvbnZlcnNpb25TdG10Ogor CQljYXNlIFRfQ3JlYXRlVHJhbnNmb3JtU3RtdDoKKwkJY2FzZSBUX0FsdGVyVFNEaWN0aW9uYXJ5 U3RtdDoKKwkJY2FzZSBUX0FsdGVyVFNDb25maWd1cmF0aW9uU3RtdDoKKwkJY2FzZSBUX0FsdGVy VGFibGVNb3ZlQWxsU3RtdDoKKwkJY2FzZSBUX0FsdGVyT2JqZWN0RGVwZW5kc1N0bXQ6CisJCWNh c2UgVF9BbHRlck9iamVjdFNjaGVtYVN0bXQ6CisJCWNhc2UgVF9Db21tZW50U3RtdDoKKwkJY2Fz ZSBUX0Ryb3BPd25lZFN0bXQ6CisJCWNhc2UgVF9BbHRlckRlZmF1bHRQcml2aWxlZ2VzU3RtdDoK KwkJY2FzZSBUX0NyZWF0ZVBvbGljeVN0bXQ6CisJCWNhc2UgVF9BbHRlclBvbGljeVN0bXQ6CisJ CWNhc2UgVF9TZWNMYWJlbFN0bXQ6CisJCWNhc2UgVF9DcmVhdGVBbVN0bXQ6CisJCWNhc2UgVF9D cmVhdGVQdWJsaWNhdGlvblN0bXQ6CisJCWNhc2UgVF9BbHRlclB1YmxpY2F0aW9uU3RtdDoKKwkJ Y2FzZSBUX0NyZWF0ZVN1YnNjcmlwdGlvblN0bXQ6CisJCWNhc2UgVF9BbHRlclN1YnNjcmlwdGlv blN0bXQ6CisJCWNhc2UgVF9Ecm9wU3Vic2NyaXB0aW9uU3RtdDoKKwkJY2FzZSBUX0NyZWF0ZVN0 YXRzU3RtdDoKKwkJY2FzZSBUX0FsdGVyU3RhdHNTdG10OgorCQkJYnJlYWs7CisJCWRlZmF1bHQ6 CisJCQlicmVhazsKKwl9Cit9CisKIC8qCiAgKiBUaGUgIlNsb3ciIHZhcmlhbnQgb2YgUHJvY2Vz c1V0aWxpdHkgc2hvdWxkIG9ubHkgcmVjZWl2ZSBzdGF0ZW1lbnRzCiAgKiBzdXBwb3J0ZWQgYnkg dGhlIGV2ZW50IHRyaWdnZXJzIGZhY2lsaXR5LiAgVGhlcmVmb3JlLCB3ZSBhbHdheXMKQEAgLTEx MTksNiArMTI2OCwxMyBAQCBQcm9jZXNzVXRpbGl0eVNsb3coUGFyc2VTdGF0ZSAqcHN0YXRlLAog CQlpZiAoaXNDb21wbGV0ZVF1ZXJ5KQogCQkJRXZlbnRUcmlnZ2VyRERMQ29tbWFuZFN0YXJ0KHBh cnNldHJlZSk7CiAKKwkJLyoKKwkJICogQ29uc2lkZXIgbG9nZ2luZyB0aGUgRERMIGNvbW1hbmQg aWYgbG9naWNhbCBsb2dnaW5nIGlzIGVuYWJsZWQgYW5kIHRoaXMgaXMKKwkJICogYSB0b3AgbGV2 ZWwgcXVlcnkuCisJCSAqLworCQlpZiAoWExvZ0xvZ2ljYWxJbmZvQWN0aXZlKCkgJiYgaXNUb3BM ZXZlbCkKKwkJCUxvZ0xvZ2ljYWxERExDb21tYW5kKHBhcnNldHJlZSwgcXVlcnlTdHJpbmcpOwor CiAJCXN3aXRjaCAobm9kZVRhZyhwYXJzZXRyZWUpKQogCQl7CiAJCQkJLyoKQEAgLTEzMjEsNiAr MTQ3NywyMyBAQCBQcm9jZXNzVXRpbGl0eVNsb3coUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkJ RXZlbnRUcmlnZ2VyQWx0ZXJUYWJsZVN0YXJ0KHBhcnNldHJlZSk7CiAJCQkJCQlFdmVudFRyaWdn ZXJBbHRlclRhYmxlUmVsaWQocmVsaWQpOwogCisJCQkJCQkvKgorCQkJCQkJICogTG9nIHRoZSBB TFRFUiBUQUJMRSBjb21tYW5kIGlmCisJCQkJCQkgKiBUaGVyZSBpcyBhbnkgcHVibGljYXRpb24g d2l0aCBkYXRhYmFzZSBsZXZlbCBkZGwgb24gb3IKKwkJCQkJCSAqIHRoaXMgVEFCTEUgYmVsb25n cyB0byBhbnkgcHVibGljYXRpb24gd2l0aCB0YWJsZSBsZXZlbCBkZGwgb24KKwkJCQkJCSAqLwor CQkJCQkJaWYgKFhMb2dMb2dpY2FsSW5mb0FjdGl2ZSgpICYmCisJCQkJCQkJZGRsX25lZWRfeGxv ZyhyZWxpZCwgZmFsc2UsIGlzVG9wTGV2ZWwpKQorCQkJCQkJeworCQkJCQkJCWJvb2wgdHJhbnNh Y3Rpb25hbCA9IHRydWU7CisJCQkJCQkJY29uc3QgY2hhciogcHJlZml4ID0gIiI7CisJCQkJCQkJ TG9nTG9naWNhbERETE1lc3NhZ2UocHJlZml4LAorCQkJCQkJCQkJCQkJIEdldFVzZXJJZCgpLAor CQkJCQkJCQkJCQkJIHF1ZXJ5U3RyaW5nLAorCQkJCQkJCQkJCQkJIHN0cmxlbihxdWVyeVN0cmlu ZyksCisJCQkJCQkJCQkJCQkgdHJhbnNhY3Rpb25hbCk7CisJCQkJCQl9CisKIAkJCQkJCS8qIC4u LiBhbmQgZG8gaXQgKi8KIAkJCQkJCUFsdGVyVGFibGUoYXRzdG10LCBsb2NrbW9kZSwgJmF0Y29u dGV4dCk7CiAKQEAgLTE1MzksNiArMTcxMiwyNCBAQCBQcm9jZXNzVXRpbGl0eVNsb3coUGFyc2VT dGF0ZSAqcHN0YXRlLAogCiAJCQkJCS8qIC4uLiBhbmQgZG8gaXQgKi8KIAkJCQkJRXZlbnRUcmln Z2VyQWx0ZXJUYWJsZVN0YXJ0KHBhcnNldHJlZSk7CisKKwkJCQkJLyoKKwkJCQkJICogTG9nIENS RUFURSBJTkRFWCBjbWQgZm9yIGxvZ2ljYWwgcmVwbGljYXRpb24gaWYKKwkJCQkJICogdGhlcmUg aXMgYW55IHB1YmxpY2F0aW9uIHdpdGggZGF0YWJhc2UgbGV2ZWwgZGRsIG9uIG9yCisJCQkJCSAq IHRoaXMgVEFCTEUgYmVsb25ncyB0byBhbnkgcHVibGljYXRpb24gd2l0aCB0YWJsZSBsZXZlbCBk ZGwgb24uCisJCQkJCSAqLworCQkJCQlpZiAoWExvZ0xvZ2ljYWxJbmZvQWN0aXZlKCkgJiYKKwkJ CQkJCWRkbF9uZWVkX3hsb2cocmVsaWQsIGZhbHNlLCBpc1RvcExldmVsKSkKKwkJCQkJeworCQkJ CQkJYm9vbCB0cmFuc2FjdGlvbmFsID0gdHJ1ZTsKKwkJCQkJCWNvbnN0IGNoYXIqIHByZWZpeCA9 ICIiOworCQkJCQkJTG9nTG9naWNhbERETE1lc3NhZ2UocHJlZml4LAorCQkJCQkJCQkJCQkgR2V0 VXNlcklkKCksCisJCQkJCQkJCQkJCSBxdWVyeVN0cmluZywKKwkJCQkJCQkJCQkJIHN0cmxlbihx dWVyeVN0cmluZyksCisJCQkJCQkJCQkJCSB0cmFuc2FjdGlvbmFsKTsKKwkJCQkJfQorCiAJCQkJ CWFkZHJlc3MgPQogCQkJCQkJRGVmaW5lSW5kZXgocmVsaWQsCS8qIE9JRCBvZiBoZWFwIHJlbGF0 aW9uICovCiAJCQkJCQkJCQlzdG10LApAQCAtMTc1NSw3ICsxOTQ2LDcgQEAgUHJvY2Vzc1V0aWxp dHlTbG93KFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJCQlicmVhazsKIAogCQkJY2FzZSBUX0Ryb3BT dG10OgotCQkJCUV4ZWNEcm9wU3RtdCgoRHJvcFN0bXQgKikgcGFyc2V0cmVlLCBpc1RvcExldmVs KTsKKwkJCQlFeGVjRHJvcFN0bXQocHN0YXRlLCAoRHJvcFN0bXQgKikgcGFyc2V0cmVlLCBpc1Rv cExldmVsKTsKIAkJCQkvKiBubyBjb21tYW5kcyBzdGFzaGVkIGZvciBEUk9QICovCiAJCQkJY29t bWFuZENvbGxlY3RlZCA9IHRydWU7CiAJCQkJYnJlYWs7CkBAIC0xOTc2LDcgKzIxNjcsNyBAQCBQ cm9jZXNzVXRpbGl0eUZvckFsdGVyVGFibGUoTm9kZSAqc3RtdCwgQWx0ZXJUYWJsZVV0aWxpdHlD b250ZXh0ICpjb250ZXh0KQogICogRGlzcGF0Y2ggZnVuY3Rpb24gZm9yIERyb3BTdG10CiAgKi8K IHN0YXRpYyB2b2lkCi1FeGVjRHJvcFN0bXQoRHJvcFN0bXQgKnN0bXQsIGJvb2wgaXNUb3BMZXZl bCkKK0V4ZWNEcm9wU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIERyb3BTdG10ICpzdG10LCBib29s IGlzVG9wTGV2ZWwpCiB7CiAJc3dpdGNoIChzdG10LT5yZW1vdmVUeXBlKQogCXsKQEAgLTE5OTEs NyArMjE4Miw3IEBAIEV4ZWNEcm9wU3RtdChEcm9wU3RtdCAqc3RtdCwgYm9vbCBpc1RvcExldmVs KQogCQljYXNlIE9CSkVDVF9WSUVXOgogCQljYXNlIE9CSkVDVF9NQVRWSUVXOgogCQljYXNlIE9C SkVDVF9GT1JFSUdOX1RBQkxFOgotCQkJUmVtb3ZlUmVsYXRpb25zKHN0bXQpOworCQkJUmVtb3Zl UmVsYXRpb25zKHBzdGF0ZSwgc3RtdCwgaXNUb3BMZXZlbCk7CiAJCQlicmVhazsKIAkJZGVmYXVs dDoKIAkJCVJlbW92ZU9iamVjdHMoc3RtdCk7CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3dhbGR1 bXAvcm1ncmRlc2MuYyBiL3NyYy9iaW4vcGdfd2FsZHVtcC9ybWdyZGVzYy5jCmluZGV4IDZiOGMx N2JiNGMuLjc5MmY0Mzg5NTkgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfd2FsZHVtcC9ybWdyZGVz Yy5jCisrKyBiL3NyYy9iaW4vcGdfd2FsZHVtcC9ybWdyZGVzYy5jCkBAIC0yNyw2ICsyNyw3IEBA CiAjaW5jbHVkZSAiY29tbWFuZHMvc2VxdWVuY2UuaCIKICNpbmNsdWRlICJjb21tYW5kcy90YWJs ZXNwYWNlLmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24vbWVzc2FnZS5oIgorI2luY2x1ZGUgInJl cGxpY2F0aW9uL2RkbG1lc3NhZ2UuaCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi9vcmlnaW4uaCIK ICNpbmNsdWRlICJybWdyZGVzYy5oIgogI2luY2x1ZGUgInN0b3JhZ2Uvc3RhbmRieWRlZnMuaCIK ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2FjY2Vzcy9ybWdybGlzdC5oIGIvc3JjL2luY2x1ZGUv YWNjZXNzL3JtZ3JsaXN0LmgKaW5kZXggOWE3NDcyMWM5Ny4uOWRlM2I4ZjJlYiAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvYWNjZXNzL3JtZ3JsaXN0LmgKKysrIGIvc3JjL2luY2x1ZGUvYWNjZXNz L3JtZ3JsaXN0LmgKQEAgLTQ3LDMgKzQ3LDQgQEAgUEdfUk1HUihSTV9DT01NSVRfVFNfSUQsICJD b21taXRUcyIsIGNvbW1pdF90c19yZWRvLCBjb21taXRfdHNfZGVzYywgY29tbWl0X3RzX2kKIFBH X1JNR1IoUk1fUkVQTE9SSUdJTl9JRCwgIlJlcGxpY2F0aW9uT3JpZ2luIiwgcmVwbG9yaWdpbl9y ZWRvLCByZXBsb3JpZ2luX2Rlc2MsIHJlcGxvcmlnaW5faWRlbnRpZnksIE5VTEwsIE5VTEwsIE5V TEwsIE5VTEwpCiBQR19STUdSKFJNX0dFTkVSSUNfSUQsICJHZW5lcmljIiwgZ2VuZXJpY19yZWRv LCBnZW5lcmljX2Rlc2MsIGdlbmVyaWNfaWRlbnRpZnksIE5VTEwsIE5VTEwsIGdlbmVyaWNfbWFz aywgTlVMTCkKIFBHX1JNR1IoUk1fTE9HSUNBTE1TR19JRCwgIkxvZ2ljYWxNZXNzYWdlIiwgbG9n aWNhbG1zZ19yZWRvLCBsb2dpY2FsbXNnX2Rlc2MsIGxvZ2ljYWxtc2dfaWRlbnRpZnksIE5VTEws IE5VTEwsIE5VTEwsIGxvZ2ljYWxtc2dfZGVjb2RlKQorUEdfUk1HUihSTV9MT0dJQ0FMRERMTVNH X0lELCAiTG9naWNhbERETE1lc3NhZ2UiLCBsb2dpY2FsZGRsbXNnX3JlZG8sIGxvZ2ljYWxkZGxt c2dfZGVzYywgbG9naWNhbGRkbG1zZ19pZGVudGlmeSwgTlVMTCwgTlVMTCwgTlVMTCwgbG9naWNh bGRkbG1zZ19kZWNvZGUpCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy90YWJsZWNt ZHMuaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3RhYmxlY21kcy5oCmluZGV4IDVkNDAzN2YyNmUu LjY4NzgxMzY1ZGUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3RhYmxlY21kcy5o CisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3RhYmxlY21kcy5oCkBAIC0xOCw2ICsxOCw3IEBA CiAjaW5jbHVkZSAiY2F0YWxvZy9kZXBlbmRlbmN5LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9vYmpl Y3RhZGRyZXNzLmgiCiAjaW5jbHVkZSAibm9kZXMvcGFyc2Vub2Rlcy5oIgorI2luY2x1ZGUgInBh cnNlci9wYXJzZV9ub2RlLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9sb2NrLmgiCiAjaW5jbHVkZSAi dXRpbHMvcmVsY2FjaGUuaCIKIApAQCAtMjcsNyArMjgsNyBAQCBzdHJ1Y3QgQWx0ZXJUYWJsZVV0 aWxpdHlDb250ZXh0OwkvKiBhdm9pZCBpbmNsdWRpbmcgdGNvcC91dGlsaXR5LmggaGVyZSAqLwog ZXh0ZXJuIE9iamVjdEFkZHJlc3MgRGVmaW5lUmVsYXRpb24oQ3JlYXRlU3RtdCAqc3RtdCwgY2hh ciByZWxraW5kLCBPaWQgb3duZXJJZCwKIAkJCQkJCQkJCU9iamVjdEFkZHJlc3MgKnR5cGFkZHJl c3MsIGNvbnN0IGNoYXIgKnF1ZXJ5U3RyaW5nKTsKIAotZXh0ZXJuIHZvaWQgUmVtb3ZlUmVsYXRp b25zKERyb3BTdG10ICpkcm9wKTsKK2V4dGVybiB2b2lkIFJlbW92ZVJlbGF0aW9ucyhQYXJzZVN0 YXRlICpwc3RhdGUsIERyb3BTdG10ICpkcm9wLCBib29sIGlzVG9wTGV2ZWwpOwogCiBleHRlcm4g T2lkCUFsdGVyVGFibGVMb29rdXBSZWxhdGlvbihBbHRlclRhYmxlU3RtdCAqc3RtdCwgTE9DS01P REUgbG9ja21vZGUpOwogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9kZGxt ZXNzYWdlLmggYi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9kZGxtZXNzYWdlLmgKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMWU4ZWYyMjI5NgotLS0gL2Rldi9udWxsCisr KyBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2RkbG1lc3NhZ2UuaApAQCAtMCwwICsxLDQ3IEBA CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIGRkbG1lc3NhZ2UuaAorICoJICAgRXhwb3J0cyBmcm9t IHJlcGxpY2F0aW9uL2xvZ2ljYWwvZGRsbWVzc2FnZS5jCisgKgorICogQ29weXJpZ2h0IChjKSAy MDIyLCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICoKKyAqIHNyYy9pbmNs dWRlL3JlcGxpY2F0aW9uL2RkbG1lc3NhZ2UuaAorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKyNp Zm5kZWYgUEdfTE9HSUNBTF9ERExfTUVTU0FHRV9ICisjZGVmaW5lIFBHX0xPR0lDQUxfRERMX01F U1NBR0VfSAorCisjaW5jbHVkZSAiYWNjZXNzL3hsb2cuaCIKKyNpbmNsdWRlICJhY2Nlc3MveGxv Z2RlZnMuaCIKKyNpbmNsdWRlICJhY2Nlc3MveGxvZ3JlYWRlci5oIgorCisvKgorICogR2VuZXJp YyBsb2dpY2FsIGRlY29kaW5nIERETCBtZXNzYWdlIHdhbCByZWNvcmQuCisgKi8KK3R5cGVkZWYg c3RydWN0IHhsX2xvZ2ljYWxfZGRsX21lc3NhZ2UKK3sKKwlPaWQJCQlkYklkOwkJCS8qIGRhdGFi YXNlIE9pZCBlbWl0dGVkIGZyb20gKi8KKwlib29sCQl0cmFuc2FjdGlvbmFsOwkvKiBpcyBtZXNz YWdlIHRyYW5zYWN0aW9uYWw/ICovCisJU2l6ZQkJcHJlZml4X3NpemU7CS8qIGxlbmd0aCBvZiBw cmVmaXggKi8KKwlTaXplCQlyb2xlX3NpemU7ICAgICAgLyogbGVuZ3RoIG9mIHRoZSByb2xlIHRo YXQgZXhlY3V0ZXMgdGhlIERETCBjb21tYW5kICovCisJU2l6ZQkJc2VhcmNoX3BhdGhfc2l6ZTsg LyogbGVuZ3RoIG9mIHRoZSBzZWFyY2ggcGF0aCAqLworCVNpemUJCW1lc3NhZ2Vfc2l6ZTsJICAv KiBzaXplIG9mIHRoZSBtZXNzYWdlICovCisJLyoKKwkgKiBwYXlsb2FkLCBpbmNsdWRpbmcgbnVs bC10ZXJtaW5hdGVkIHByZWZpeCBvZiBsZW5ndGggcHJlZml4X3NpemUKKwkgKiBhbmQgbnVsbC10 ZXJtaW5hdGVkIHJvbGUgb2YgbGVuZ3RoIHJvbGVfc2l6ZQorCSAqIGFuZCBudWxsLXRlcm1pbmF0 ZWQgc2VhcmNoX3BhdGggb2YgbGVuZ3RoIHNlYXJjaF9wYXRoX3NpemUKKwkgKi8KKwljaGFyCQlt ZXNzYWdlW0ZMRVhJQkxFX0FSUkFZX01FTUJFUl07Cit9IHhsX2xvZ2ljYWxfZGRsX21lc3NhZ2U7 CisKKyNkZWZpbmUgU2l6ZU9mTG9naWNhbERETE1lc3NhZ2UJKG9mZnNldG9mKHhsX2xvZ2ljYWxf ZGRsX21lc3NhZ2UsIG1lc3NhZ2UpKQorCitleHRlcm4gWExvZ1JlY1B0ciBMb2dMb2dpY2FsRERM TWVzc2FnZShjb25zdCBjaGFyICpwcmVmaXgsIE9pZCByb2xlb2lkLCBjb25zdCBjaGFyICpkZGxf bWVzc2FnZSwKKwkJCQkJCQkJCSAgIHNpemVfdCBzaXplLCBib29sIHRyYW5zYWN0aW9uYWwpOwor CisvKiBSTUdSIEFQSSovCisjZGVmaW5lIFhMT0dfTE9HSUNBTF9ERExfTUVTU0FHRQkweDAwCit2 b2lkCQlsb2dpY2FsZGRsbXNnX3JlZG8oWExvZ1JlYWRlclN0YXRlICpyZWNvcmQpOwordm9pZAkJ bG9naWNhbGRkbG1zZ19kZXNjKFN0cmluZ0luZm8gYnVmLCBYTG9nUmVhZGVyU3RhdGUgKnJlY29y ZCk7Citjb25zdCBjaGFyICpsb2dpY2FsZGRsbXNnX2lkZW50aWZ5KHVpbnQ4IGluZm8pOworCisj ZW5kaWYJCQkJCQkJLyogUEdfTE9HSUNBTF9ERExfTUVTU0FHRV9IICovCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9kZWNvZGUuaCBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9u L2RlY29kZS5oCmluZGV4IDc0MWJmNjVjZjcuLjQyN2E3Yjk5N2QgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL3JlcGxpY2F0aW9uL2RlY29kZS5oCisrKyBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9u L2RlY29kZS5oCkBAIC0yNyw2ICsyNyw3IEBAIGV4dGVybiB2b2lkIGhlYXAyX2RlY29kZShMb2dp Y2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsIFhMb2dSZWNvcmRCdWZmZXIgKmJ1Zik7CiBleHRlcm4g dm9pZCB4YWN0X2RlY29kZShMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsIFhMb2dSZWNvcmRC dWZmZXIgKmJ1Zik7CiBleHRlcm4gdm9pZCBzdGFuZGJ5X2RlY29kZShMb2dpY2FsRGVjb2RpbmdD b250ZXh0ICpjdHgsIFhMb2dSZWNvcmRCdWZmZXIgKmJ1Zik7CiBleHRlcm4gdm9pZCBsb2dpY2Fs bXNnX2RlY29kZShMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsIFhMb2dSZWNvcmRCdWZmZXIg KmJ1Zik7CitleHRlcm4gdm9pZCBsb2dpY2FsZGRsbXNnX2RlY29kZShMb2dpY2FsRGVjb2RpbmdD b250ZXh0ICpjdHgsIFhMb2dSZWNvcmRCdWZmZXIgKmJ1Zik7CiAKIGV4dGVybiB2b2lkIExvZ2lj YWxEZWNvZGluZ1Byb2Nlc3NSZWNvcmQoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LAogCQkJ CQkJCQkJCSBYTG9nUmVhZGVyU3RhdGUgKnJlY29yZCk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS9yZXBsaWNhdGlvbi9vdXRwdXRfcGx1Z2luLmggYi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9v dXRwdXRfcGx1Z2luLmgKaW5kZXggNTM5ZGM4ZTY5Ny4uNWIxYzI0NWI3MiAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvcmVwbGljYXRpb24vb3V0cHV0X3BsdWdpbi5oCisrKyBiL3NyYy9pbmNsdWRl L3JlcGxpY2F0aW9uL291dHB1dF9wbHVnaW4uaApAQCAtODgsNiArODgsMTkgQEAgdHlwZWRlZiB2 b2lkICgqTG9naWNhbERlY29kZU1lc3NhZ2VDQikgKHN0cnVjdCBMb2dpY2FsRGVjb2RpbmdDb250 ZXh0ICpjdHgsCiAJCQkJCQkJCQkJU2l6ZSBtZXNzYWdlX3NpemUsCiAJCQkJCQkJCQkJY29uc3Qg Y2hhciAqbWVzc2FnZSk7CiAKKy8qCisgKiBDYWxsZWQgZm9yIHRoZSBsb2dpY2FsIGRlY29kaW5n IERETCBtZXNzYWdlcy4KKyAqLwordHlwZWRlZiB2b2lkICgqTG9naWNhbERlY29kZURETE1lc3Nh Z2VDQikgKHN0cnVjdCBMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsCisJCQkJCQkJCQkJICAg UmVvcmRlckJ1ZmZlclRYTiAqdHhuLAorCQkJCQkJCQkJCSAgIFhMb2dSZWNQdHIgbWVzc2FnZV9s c24sCisJCQkJCQkJCQkJICAgYm9vbCB0cmFuc2FjdGlvbmFsLAorCQkJCQkJCQkJCSAgIGNvbnN0 IGNoYXIgKnByZWZpeCwKKwkJCQkJCQkJCQkgICBjb25zdCBjaGFyICpyb2xlLAorCQkJCQkJCQkJ CSAgIGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoLAorCQkJCQkJCQkJCSAgIFNpemUgbWVzc2FnZV9z aXplLAorCQkJCQkJCQkJCSAgIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOworCiAvKgogICogRmlsdGVy IGNoYW5nZXMgYnkgb3JpZ2luLgogICovCkBAIC0xOTksNiArMjEyLDIwIEBAIHR5cGVkZWYgdm9p ZCAoKkxvZ2ljYWxEZWNvZGVTdHJlYW1NZXNzYWdlQ0IpIChzdHJ1Y3QgTG9naWNhbERlY29kaW5n Q29udGV4dCAqY3R4CiAJCQkJCQkJCQkJCSAgU2l6ZSBtZXNzYWdlX3NpemUsCiAJCQkJCQkJCQkJ CSAgY29uc3QgY2hhciAqbWVzc2FnZSk7CiAKKy8qCisgKiBDYWxsYmFjayBmb3Igc3RyZWFtaW5n IGxvZ2ljYWwgZGVjb2RpbmcgRERMIG1lc3NhZ2VzIGZyb20gaW4tcHJvZ3Jlc3MKKyAqIHRyYW5z YWN0aW9ucy4KKyAqLwordHlwZWRlZiB2b2lkICgqTG9naWNhbERlY29kZVN0cmVhbURETE1lc3Nh Z2VDQikgKHN0cnVjdCBMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsCisJCQkJCQkJCQkJCQkg UmVvcmRlckJ1ZmZlclRYTiAqdHhuLAorCQkJCQkJCQkJCQkJIFhMb2dSZWNQdHIgbWVzc2FnZV9s c24sCisJCQkJCQkJCQkJCQkgYm9vbCB0cmFuc2FjdGlvbmFsLAorCQkJCQkJCQkJCQkJIGNvbnN0 IGNoYXIgKnByZWZpeCwKKwkJCQkJCQkJCQkJCSBjb25zdCBjaGFyICpyb2xlLAorCQkJCQkJCQkJ CQkJIGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoLAorCQkJCQkJCQkJCQkJIFNpemUgbWVzc2FnZV9z aXplLAorCQkJCQkJCQkJCQkJIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOworCiAvKgogICogQ2FsbGJh Y2sgZm9yIHN0cmVhbWluZyB0cnVuY2F0ZXMgZnJvbSBpbi1wcm9ncmVzcyB0cmFuc2FjdGlvbnMu CiAgKi8KQEAgLTIxOSw2ICsyNDYsNyBAQCB0eXBlZGVmIHN0cnVjdCBPdXRwdXRQbHVnaW5DYWxs YmFja3MKIAlMb2dpY2FsRGVjb2RlVHJ1bmNhdGVDQiB0cnVuY2F0ZV9jYjsKIAlMb2dpY2FsRGVj b2RlQ29tbWl0Q0IgY29tbWl0X2NiOwogCUxvZ2ljYWxEZWNvZGVNZXNzYWdlQ0IgbWVzc2FnZV9j YjsKKwlMb2dpY2FsRGVjb2RlRERMTWVzc2FnZUNCIGRkbG1lc3NhZ2VfY2I7CiAJTG9naWNhbERl Y29kZUZpbHRlckJ5T3JpZ2luQ0IgZmlsdGVyX2J5X29yaWdpbl9jYjsKIAlMb2dpY2FsRGVjb2Rl U2h1dGRvd25DQiBzaHV0ZG93bl9jYjsKIApAQCAtMjM3LDYgKzI2NSw3IEBAIHR5cGVkZWYgc3Ry dWN0IE91dHB1dFBsdWdpbkNhbGxiYWNrcwogCUxvZ2ljYWxEZWNvZGVTdHJlYW1Db21taXRDQiBz dHJlYW1fY29tbWl0X2NiOwogCUxvZ2ljYWxEZWNvZGVTdHJlYW1DaGFuZ2VDQiBzdHJlYW1fY2hh bmdlX2NiOwogCUxvZ2ljYWxEZWNvZGVTdHJlYW1NZXNzYWdlQ0Igc3RyZWFtX21lc3NhZ2VfY2I7 CisJTG9naWNhbERlY29kZVN0cmVhbURETE1lc3NhZ2VDQiBzdHJlYW1fZGRsbWVzc2FnZV9jYjsK IAlMb2dpY2FsRGVjb2RlU3RyZWFtVHJ1bmNhdGVDQiBzdHJlYW1fdHJ1bmNhdGVfY2I7CiB9IE91 dHB1dFBsdWdpbkNhbGxiYWNrczsKIApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcmVwbGljYXRp b24vcmVvcmRlcmJ1ZmZlci5oIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vcmVvcmRlcmJ1ZmZl ci5oCmluZGV4IDRhMDFmODc3ZTUuLmRkODllMDhlZmMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L3JlcGxpY2F0aW9uL3Jlb3JkZXJidWZmZXIuaAorKysgYi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlv bi9yZW9yZGVyYnVmZmVyLmgKQEAgLTU2LDYgKzU2LDcgQEAgdHlwZWRlZiBlbnVtIFJlb3JkZXJC dWZmZXJDaGFuZ2VUeXBlCiAJUkVPUkRFUl9CVUZGRVJfQ0hBTkdFX0lOU0VSVCwKIAlSRU9SREVS X0JVRkZFUl9DSEFOR0VfVVBEQVRFLAogCVJFT1JERVJfQlVGRkVSX0NIQU5HRV9ERUxFVEUsCisJ UkVPUkRFUl9CVUZGRVJfQ0hBTkdFX0RETE1FU1NBR0UsCiAJUkVPUkRFUl9CVUZGRVJfQ0hBTkdF X01FU1NBR0UsCiAJUkVPUkRFUl9CVUZGRVJfQ0hBTkdFX0lOVkFMSURBVElPTiwKIAlSRU9SREVS X0JVRkZFUl9DSEFOR0VfSU5URVJOQUxfU05BUFNIT1QsCkBAIC0xMzAsNiArMTMxLDE2IEBAIHR5 cGVkZWYgc3RydWN0IFJlb3JkZXJCdWZmZXJDaGFuZ2UKIAkJCWNoYXIJICAgKm1lc3NhZ2U7CiAJ CX0JCQltc2c7CiAKKwkJLyogRERMIE1lc3NhZ2UuICovCisJCXN0cnVjdAorCQl7CisJCQljaGFy CSAgICpwcmVmaXg7CisJCQljaGFyCSAgICpyb2xlOworCQkJY2hhcgkgICAqc2VhcmNoX3BhdGg7 CisJCQlTaXplCQltZXNzYWdlX3NpemU7CisJCQljaGFyCSAgICptZXNzYWdlOworCQl9CQkJZGRs bXNnOworCiAJCS8qIE5ldyBzbmFwc2hvdCwgc2V0IHdoZW4gYWN0aW9uID09ICpfSU5URVJOQUxf U05BUFNIT1QgKi8KIAkJU25hcHNob3QJc25hcHNob3Q7CiAKQEAgLTQzMCw2ICs0NDEsMTcgQEAg dHlwZWRlZiB2b2lkICgqUmVvcmRlckJ1ZmZlck1lc3NhZ2VDQikgKFJlb3JkZXJCdWZmZXIgKnJi LAogCQkJCQkJCQkJCWNvbnN0IGNoYXIgKnByZWZpeCwgU2l6ZSBzeiwKIAkJCQkJCQkJCQljb25z dCBjaGFyICptZXNzYWdlKTsKIAorLyogRERMIG1lc3NhZ2UgY2FsbGJhY2sgc2lnbmF0dXJlICov Cit0eXBlZGVmIHZvaWQgKCpSZW9yZGVyQnVmZmVyRERMTWVzc2FnZUNCKSAoUmVvcmRlckJ1ZmZl ciAqcmIsCisJCQkJCQkJCQkJICAgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAorCQkJCQkJCQkJCSAg IFhMb2dSZWNQdHIgbWVzc2FnZV9sc24sCisJCQkJCQkJCQkJICAgYm9vbCB0cmFuc2FjdGlvbmFs LAorCQkJCQkJCQkJCSAgIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCQkJCQkJCQkgICBjb25zdCBj aGFyICpyb2xlLAorCQkJCQkJCQkJCSAgIGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoLAorCQkJCQkJ CQkJCSAgIFNpemUgc3osCisJCQkJCQkJCQkJICAgY29uc3QgY2hhciAqbWVzc2FnZSk7CisKIC8q IGJlZ2luIHByZXBhcmUgY2FsbGJhY2sgc2lnbmF0dXJlICovCiB0eXBlZGVmIHZvaWQgKCpSZW9y ZGVyQnVmZmVyQmVnaW5QcmVwYXJlQ0IpIChSZW9yZGVyQnVmZmVyICpyYiwKIAkJCQkJCQkJCQkJ IFJlb3JkZXJCdWZmZXJUWE4gKnR4bik7CkBAIC00OTYsNiArNTE4LDE4IEBAIHR5cGVkZWYgdm9p ZCAoKlJlb3JkZXJCdWZmZXJTdHJlYW1NZXNzYWdlQ0IpICgKIAkJCQkJCQkJCQkJICBjb25zdCBj aGFyICpwcmVmaXgsIFNpemUgc3osCiAJCQkJCQkJCQkJCSAgY29uc3QgY2hhciAqbWVzc2FnZSk7 CiAKKy8qIHN0cmVhbSBEREwgbWVzc2FnZSBjYWxsYmFjayBzaWduYXR1cmUgKi8KK3R5cGVkZWYg dm9pZCAoKlJlb3JkZXJCdWZmZXJTdHJlYW1ERExNZXNzYWdlQ0IpICgKKwkJCQkJCQkJCQkJCSBS ZW9yZGVyQnVmZmVyICpyYiwKKwkJCQkJCQkJCQkJCSBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCisJ CQkJCQkJCQkJCQkgWExvZ1JlY1B0ciBtZXNzYWdlX2xzbiwKKwkJCQkJCQkJCQkJCSBib29sIHRy YW5zYWN0aW9uYWwsCisJCQkJCQkJCQkJCQkgY29uc3QgY2hhciAqcHJlZml4LAorCQkJCQkJCQkJ CQkJIGNvbnN0IGNoYXIgKnJvbGUsCisJCQkJCQkJCQkJCQkgY29uc3QgY2hhciAqc2VhcmNoX3Bh dGgsCisJCQkJCQkJCQkJCQkgU2l6ZSBzeiwKKwkJCQkJCQkJCQkJCSBjb25zdCBjaGFyICptZXNz YWdlKTsKKwogLyogc3RyZWFtIHRydW5jYXRlIGNhbGxiYWNrIHNpZ25hdHVyZSAqLwogdHlwZWRl ZiB2b2lkICgqUmVvcmRlckJ1ZmZlclN0cmVhbVRydW5jYXRlQ0IpICgKIAkJCQkJCQkJCQkJICAg UmVvcmRlckJ1ZmZlciAqcmIsCkBAIC01NDEsNiArNTc1LDcgQEAgc3RydWN0IFJlb3JkZXJCdWZm ZXIKIAlSZW9yZGVyQnVmZmVyQXBwbHlUcnVuY2F0ZUNCIGFwcGx5X3RydW5jYXRlOwogCVJlb3Jk ZXJCdWZmZXJDb21taXRDQiBjb21taXQ7CiAJUmVvcmRlckJ1ZmZlck1lc3NhZ2VDQiBtZXNzYWdl OworCVJlb3JkZXJCdWZmZXJERExNZXNzYWdlQ0IgZGRsbWVzc2FnZTsKIAogCS8qCiAJICogQ2Fs bGJhY2tzIHRvIGJlIGNhbGxlZCB3aGVuIHN0cmVhbWluZyBhIHRyYW5zYWN0aW9uIGF0IHByZXBh cmUgdGltZS4KQEAgLTU2MCw2ICs1OTUsNyBAQCBzdHJ1Y3QgUmVvcmRlckJ1ZmZlcgogCVJlb3Jk ZXJCdWZmZXJTdHJlYW1Db21taXRDQiBzdHJlYW1fY29tbWl0OwogCVJlb3JkZXJCdWZmZXJTdHJl YW1DaGFuZ2VDQiBzdHJlYW1fY2hhbmdlOwogCVJlb3JkZXJCdWZmZXJTdHJlYW1NZXNzYWdlQ0Ig c3RyZWFtX21lc3NhZ2U7CisJUmVvcmRlckJ1ZmZlclN0cmVhbURETE1lc3NhZ2VDQiBzdHJlYW1f ZGRsbWVzc2FnZTsKIAlSZW9yZGVyQnVmZmVyU3RyZWFtVHJ1bmNhdGVDQiBzdHJlYW1fdHJ1bmNh dGU7CiAKIAkvKgpAQCAtNjM1LDYgKzY3MSw5IEBAIGV4dGVybiB2b2lkIFJlb3JkZXJCdWZmZXJR dWV1ZUNoYW5nZShSZW9yZGVyQnVmZmVyICosIFRyYW5zYWN0aW9uSWQsCiBleHRlcm4gdm9pZCBS ZW9yZGVyQnVmZmVyUXVldWVNZXNzYWdlKFJlb3JkZXJCdWZmZXIgKiwgVHJhbnNhY3Rpb25JZCwg U25hcHNob3Qgc25hcHNob3QsIFhMb2dSZWNQdHIgbHNuLAogCQkJCQkJCQkJICBib29sIHRyYW5z YWN0aW9uYWwsIGNvbnN0IGNoYXIgKnByZWZpeCwKIAkJCQkJCQkJCSAgU2l6ZSBtZXNzYWdlX3Np emUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOworZXh0ZXJuIHZvaWQgUmVvcmRlckJ1ZmZlclF1ZXVl RERMTWVzc2FnZShSZW9yZGVyQnVmZmVyICosIFRyYW5zYWN0aW9uSWQsIFNuYXBzaG90IHNuYXBz aG90LCBYTG9nUmVjUHRyIGxzbiwKKwkJCQkJCQkJCQkgYm9vbCB0cmFuc2FjdGlvbmFsLCBjb25z dCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKnJvbGUsCisJCQkJCQkJCQkJIGNvbnN0IGNoYXIg KnNlYXJjaF9wYXRoLCBTaXplIG1lc3NhZ2Vfc2l6ZSwgY29uc3QgY2hhciAqbWVzc2FnZSk7CiBl eHRlcm4gdm9pZCBSZW9yZGVyQnVmZmVyQ29tbWl0KFJlb3JkZXJCdWZmZXIgKiwgVHJhbnNhY3Rp b25JZCwKIAkJCQkJCQkJWExvZ1JlY1B0ciBjb21taXRfbHNuLCBYTG9nUmVjUHRyIGVuZF9sc24s CiAJCQkJCQkJCVRpbWVzdGFtcFR6IGNvbW1pdF90aW1lLCBSZXBPcmlnaW5JZCBvcmlnaW5faWQs IFhMb2dSZWNQdHIgb3JpZ2luX2xzbik7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3B1YmxpY2F0aW9uLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHVibGlj YXRpb24ub3V0CmluZGV4IDE4MGViZDM1OWUuLjgxY2RlZTA1MjcgMTAwNjQ0Ci0tLSBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHVibGljYXRpb24ub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvcHVibGljYXRpb24ub3V0CkBAIC02NzYsMTAgKzY3NiwxMCBAQCBDUkVBVEUg UFVCTElDQVRJT04gdGVzdHB1Yl90YWJsZV9pbnMgV0lUSCAocHVibGlzaCA9ICdpbnNlcnQsIHRy dW5jYXRlJyk7CiBSRVNFVCBjbGllbnRfbWluX21lc3NhZ2VzOwogQUxURVIgUFVCTElDQVRJT04g dGVzdHB1Yl90YWJsZV9pbnMgQUREIFRBQkxFIHRlc3RwdWJfdGJsNSAoYSk7CQktLSBvawogXGRS cCsgdGVzdHB1Yl90YWJsZV9pbnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJs aWNhdGlvbiB0ZXN0cHViX3RhYmxlX2lucwotICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFs bCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEg cm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc19wdWJs aWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCBmICAgICAgIHwgZiAgICAgICB8 IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWJfdGFibGVfaW5zCisgICAgICAgICAgT3duZXIg ICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRy dW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERM IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAg ICAgIHwgdCAgICAgICB8IGYgICAgICAgfCBmICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAg fCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXM6CiAgICAgInB1YmxpYy50ZXN0cHViX3Ri bDUiIChhKQogCkBAIC04MjEsMTAgKzgyMSwxMCBAQCBDUkVBVEUgVEFCTEUgdGVzdHB1Yl90Ymxf Ym90aF9maWx0ZXJzIChhIGludCwgYiBpbnQsIGMgaW50LCBQUklNQVJZIEtFWSAoYSxjKSk7CiBB TFRFUiBUQUJMRSB0ZXN0cHViX3RibF9ib3RoX2ZpbHRlcnMgUkVQTElDQSBJREVOVElUWSBVU0lO RyBJTkRFWCB0ZXN0cHViX3RibF9ib3RoX2ZpbHRlcnNfcGtleTsKIEFMVEVSIFBVQkxJQ0FUSU9O IHRlc3RwdWJfYm90aF9maWx0ZXJzIEFERCBUQUJMRSB0ZXN0cHViX3RibF9ib3RoX2ZpbHRlcnMg KGEsYykgV0hFUkUgKGMgIT0gMSk7CiBcZFJwKyB0ZXN0cHViX2JvdGhfZmlsdGVycwotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1Yl9ib3RoX2ZpbHRlcnMK LSAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0 ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAg fCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBmCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1 Yl9ib3RoX2ZpbHRlcnMKKyAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwg SW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgfCBEYXRh YmFzZSBsZXZlbCBEREwgfCBUYWJsZSBsZXZlbCBEREwgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLQorIHJl Z3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8 IHQgICAgICAgfCB0ICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8IGYK IFRhYmxlczoKICAgICAicHVibGljLnRlc3RwdWJfdGJsX2JvdGhfZmlsdGVycyIgKGEsIGMpIFdI RVJFIChjIDw+IDEpCiAKLS0gCjIuMzIuMAoK --0000000000008260cd05deeafb8c Content-Type: application/octet-stream; name="0003-Logical-replication-of-DDL-messages.patch" Content-Disposition: attachment; filename="0003-Logical-replication-of-DDL-messages.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l34xb8t42 RnJvbSBjMDQ0NDI3NDViYmU2ODRmMjIwNWY2NTgxNDIwOGU5YjM2NGQ4MmFlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IEZyaSwgMTggTWFyIDIwMjIgMTc6MTc6MzkgKzAwMDAKU3ViamVjdDogW1BBVENIIDAz LzEwXSBMb2dpY2FsIHJlcGxpY2F0aW9uIG9mIERETCBtZXNzYWdlcwoKSW50ZWdyYXRpb24gd2l0 aCBwZ291dHB1dDoKU3VwcG9ydHMgc2VuZGluZyBhbmQgcmVjZWl2aW5nIHRoZSBEREwgbWVzc2Fn ZSB1c2luZyB0aGUgbG9naWNhbApyZXBsaWNhdGlvbiB3aXJlIHByb3RvY29sLiBBIG5ldyBMb2dp Y2FsUmVwTXNnVHlwZSBpcyBpbnRyb2R1Y2VkCmZvciB0aGlzIHB1cnBvc2U6IExPR0lDQUxfUkVQ X01TR19ERExNRVNTQUdFID0gJ0wnLgoKTG9naWNhbCByZXBsaWNhdGlvbiB3b3JrZXIgY2hhbmdl OgpTdXBwb3J0cyBleGVjdXRpb24gb2YgdGhlIERETCBjb21tYW5kIGluIHRoZSBvcmlnaW5hbCB1 c2VyIHJvbGUgYW5kCnNlYXJjaF9wYXRoLiBGb3IgYW55IG5ldyB0YWJsZSBjcmVhdGVkIHRoaXMg d2F5LCB3ZSBhbHNvIHNldCBpdHMKc3JzdWJzdGF0ZSBpbiB0aGUgcGdfc3Vic2NyaXB0aW9uX3Jl bCBjYXRhbG9nIHRvIFNVQlJFTF9TVEFURV9JTklULApTbyB0aGF0IERNTCByZXBsaWNhdGlvbiBj YW4gcHJvZ3Jlc3Mgb24gdGhpcyBuZXcgdGFibGUgd2l0aG91dAptYW51YWxseSBydW5uaW5nICJB TFRFUiBTVUJTQ1JJUFRJT04gLi4uIFJFRlJFU0ggUFVCTElDQVRJT04iLgoKVEFQIHRlc3Q6CkEg bmV3IFRBUCB0ZXN0IDAzMF9yZXBfZGRsLnBsIGlzIGFkZGVkLiBXZSBtYWlubHkgZm9jdXNlZCBv bgp0ZXN0aW5nIHRoZSBoYXBweSBwYXRoIG9mIGRhdGFiYXNlIGxldmVsIHJlcGxpY2F0aW9uIHNv IGZhci4KQ29ybmVyIGNhc2UgRERMcyBhbmQgdGFibGUgbGV2ZWwgRERMIHJlcGxpY2F0aW9uIGFy ZSBzdGlsbCB0byBiZQpjYXJlZnVsbHkgdGVzdGVkLgotLS0KIC4uLi90ZXN0X2RlY29kaW5nL2V4 cGVjdGVkL2RkbG1lc3NhZ2VzLm91dCAgICB8ICAyNiArLQogY29udHJpYi90ZXN0X2RlY29kaW5n L3NxbC9kZGxtZXNzYWdlcy5zcWwgICAgIHwgICA1ICstCiBzcmMvYmFja2VuZC9yZXBsaWNhdGlv bi9sb2dpY2FsL3Byb3RvLmMgICAgICAgfCAgNjMgKysrKy0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL2xvZ2ljYWwvd29ya2VyLmMgICAgICB8IDI2NCArKysrKysrKysrKysrKysrKysKIHNyYy9i YWNrZW5kL3JlcGxpY2F0aW9uL3Bnb3V0cHV0L3Bnb3V0cHV0LmMgICB8ICA4MiArKysrKy0KIHNy Yy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jICAgICAgICAgICAgICAgICAgICB8ICAxNCArLQogc3Jj L2luY2x1ZGUvcmVwbGljYXRpb24vbG9naWNhbHByb3RvLmggICAgICAgIHwgIDEwICstCiBzcmMv dGVzdC9zdWJzY3JpcHRpb24vdC8wMDRfc3luYy5wbCAgICAgICAgICAgfCAgIDIgKy0KIHNyYy90 ZXN0L3N1YnNjcmlwdGlvbi90LzAwNl9yZXdyaXRlLnBsICAgICAgICB8ICAgMiArLQogc3JjL3Rl c3Qvc3Vic2NyaXB0aW9uL3QvMDA4X2RpZmZfc2NoZW1hLnBsICAgIHwgICAyICstCiBzcmMvdGVz dC9zdWJzY3JpcHRpb24vdC8wMDlfbWF0dmlld3MucGwgICAgICAgfCAgIDIgKy0KIHNyYy90ZXN0 L3N1YnNjcmlwdGlvbi90LzAxMl9jb2xsYXRpb24ucGwgICAgICB8ICAgMiArLQogc3JjL3Rlc3Qv c3Vic2NyaXB0aW9uL3QvMDEzX3BhcnRpdGlvbi5wbCAgICAgIHwgICA4ICstCiBzcmMvdGVzdC9z dWJzY3JpcHRpb24vdC8wMzBfcmVwX2RkbHMucGwgICAgICAgfCAyMzcgKysrKysrKysrKysrKysr KwogMTQgZmlsZXMgY2hhbmdlZCwgNjg0IGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBfZGRscy5w bAoKZGlmZiAtLWdpdCBhL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9leHBlY3RlZC9kZGxtZXNzYWdl cy5vdXQgYi9jb250cmliL3Rlc3RfZGVjb2RpbmcvZXhwZWN0ZWQvZGRsbWVzc2FnZXMub3V0Cmlu ZGV4IDc5Mjg0ZjlkZWYuLjAzNzZmMzZjMjQgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvdGVzdF9kZWNv ZGluZy9leHBlY3RlZC9kZGxtZXNzYWdlcy5vdXQKKysrIGIvY29udHJpYi90ZXN0X2RlY29kaW5n L2V4cGVjdGVkL2RkbG1lc3NhZ2VzLm91dApAQCAtMiw2ICsyLDkgQEAKIFNFVCBzeW5jaHJvbm91 c19jb21taXQgPSBvbjsKIC0tIHR1cm4gb24gbG9naWNhbCBkZGwgbWVzc2FnZSBsb2dnaW5nCiBD UkVBVEUgcHVibGljYXRpb24gbXlwdWIgRk9SIEFMTCBUQUJMRVMgd2l0aCAoZGRsID0gJ2RhdGFi YXNlJyk7CistLSBTRVQgVVNFUgorQ1JFQVRFIFJPTEUgZGRsX3JlcGxpY2F0aW9uX3VzZXIgTE9H SU4gU1VQRVJVU0VSOworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiAnZGRsX3JlcGxpY2F0aW9u X3VzZXInOwogU0VMRUNUICdpbml0JyBGUk9NIHBnX2NyZWF0ZV9sb2dpY2FsX3JlcGxpY2F0aW9u X3Nsb3QoJ3JlZ3Jlc3Npb25fc2xvdCcsICd0ZXN0X2RlY29kaW5nJyk7CiAgP2NvbHVtbj8gCiAt LS0tLS0tLS0tCkBAIC0yMCwyMyArMjMsMjIgQEAgQkVHSU47CiBDUkVBVEUgVEFCTEUgdGVzdF9k ZGxtZXNzYWdlIChpZCBzZXJpYWwgdW5pcXVlLCBkYXRhIGludCk7CiBBTFRFUiBUQUJMRSB0ZXN0 X2RkbG1lc3NhZ2UgYWRkIGMzIHZhcmNoYXI7CiBDT01NSVQ7Ci1cbyB8IHNlZCAncy9yb2xlLipz ZWFyY2hfcGF0aC9yb2xlOiByZWRhY3RlZCwgc2VhcmNoX3BhdGgvZycKIFNFTEVDVCBkYXRhIEZS T00gcGdfbG9naWNhbF9zbG90X2dldF9jaGFuZ2VzKCdyZWdyZXNzaW9uX3Nsb3QnLCBOVUxMLCBO VUxMLCAnaW5jbHVkZS14aWRzJywgJzAnLCAnc2tpcC1lbXB0eS14YWN0cycsICcxJyk7Ci1TRUxF Q1QgcGdfZHJvcF9yZXBsaWNhdGlvbl9zbG90KCdyZWdyZXNzaW9uX3Nsb3QnKTsKLURST1AgVEFC TEUgdGVzdF9kZGxtZXNzYWdlOwotRFJPUCBwdWJsaWNhdGlvbiBteXB1YjsKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIERETCBtZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAxIHBy ZWZpeDogIHJvbGU6IHJlZGFjdGVkLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwgcHVibGljLCBzejog NTggY29udGVudDpDUkVBVEUgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIChpZCBzZXJpYWwgdW5pcXVl LCBkYXRhIGludCk7Ci0gRERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9uYWw6IDEgcHJlZml4OiAgcm9s ZTogcmVkYWN0ZWQsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiA0MyBjb250ZW50 OkFMVEVSIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSBhZGQgYzMgdmFyY2hhcjsKLSBEREwgbWVzc2Fn ZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xlOiByZWRhY3RlZCwgc2VhcmNoX3BhdGg6 ICIkdXNlciIsIHB1YmxpYywgc3o6IDM2IGNvbnRlbnQ6QUxURVIgVEFCTEUgdGVzdF9kZGxtZXNz YWdlIGRyb3AgYzM7Ci0gRERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9uYWw6IDEgcHJlZml4OiAgcm9s ZTogcmVkYWN0ZWQsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiAyNyBjb250ZW50 OkRST1AgVEFCTEUgdGVzdF9kZGxtZXNzYWdlOwotIERETCBtZXNzYWdlOiB0cmFuc2FjdGlvbmFs OiAxIHByZWZpeDogIHJvbGU6IHJlZGFjdGVkLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwgcHVibGlj LCBzejogNTggY29udGVudDpDUkVBVEUgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIChpZCBzZXJpYWwg dW5pcXVlLCBkYXRhIGludCk7Ci0gRERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9uYWw6IDEgcHJlZml4 OiAgcm9sZTogcmVkYWN0ZWQsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiA0MyBj b250ZW50OkFMVEVSIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSBhZGQgYzMgdmFyY2hhcjsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyBEREwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xlOiBkZGxfcmVwbGlj YXRpb25fdXNlciwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywgc3o6IDU4IGNvbnRlbnQ6 Q1JFQVRFIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSAoaWQgc2VyaWFsIHVuaXF1ZSwgZGF0YSBpbnQp OworIERETCBtZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAxIHByZWZpeDogIHJvbGU6IGRkbF9yZXBs aWNhdGlvbl91c2VyLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwgcHVibGljLCBzejogNDMgY29udGVu dDpBTFRFUiBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2UgYWRkIGMzIHZhcmNoYXI7CisgRERMIG1lc3Nh Z2U6IHRyYW5zYWN0aW9uYWw6IDEgcHJlZml4OiAgcm9sZTogZGRsX3JlcGxpY2F0aW9uX3VzZXIs IHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiAzNiBjb250ZW50OkFMVEVSIFRBQkxF IHRlc3RfZGRsbWVzc2FnZSBkcm9wIGMzOworIERETCBtZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAx IHByZWZpeDogIHJvbGU6IGRkbF9yZXBsaWNhdGlvbl91c2VyLCBzZWFyY2hfcGF0aDogIiR1c2Vy IiwgcHVibGljLCBzejogMjcgY29udGVudDpEUk9QIFRBQkxFIHRlc3RfZGRsbWVzc2FnZTsKKyBE REwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xlOiBkZGxfcmVwbGljYXRp b25fdXNlciwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywgc3o6IDU4IGNvbnRlbnQ6Q1JF QVRFIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSAoaWQgc2VyaWFsIHVuaXF1ZSwgZGF0YSBpbnQpOwor IERETCBtZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAxIHByZWZpeDogIHJvbGU6IGRkbF9yZXBsaWNh dGlvbl91c2VyLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwgcHVibGljLCBzejogNDMgY29udGVudDpB TFRFUiBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2UgYWRkIGMzIHZhcmNoYXI7CiAoNiByb3dzKQogCitT RUxFQ1QgcGdfZHJvcF9yZXBsaWNhdGlvbl9zbG90KCdyZWdyZXNzaW9uX3Nsb3QnKTsKICBwZ19k cm9wX3JlcGxpY2F0aW9uX3Nsb3QgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIAogKDEg cm93KQogCitEUk9QIFRBQkxFIHRlc3RfZGRsbWVzc2FnZTsKK0RST1AgcHVibGljYXRpb24gbXlw dWI7CmRpZmYgLS1naXQgYS9jb250cmliL3Rlc3RfZGVjb2Rpbmcvc3FsL2RkbG1lc3NhZ2VzLnNx bCBiL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9zcWwvZGRsbWVzc2FnZXMuc3FsCmluZGV4IDIxMTQ5 N2VlMjIuLmMyMzYxMGY5YjQgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9zcWwv ZGRsbWVzc2FnZXMuc3FsCisrKyBiL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9zcWwvZGRsbWVzc2Fn ZXMuc3FsCkBAIC0zLDYgKzMsMTAgQEAgU0VUIHN5bmNocm9ub3VzX2NvbW1pdCA9IG9uOwogLS0g dHVybiBvbiBsb2dpY2FsIGRkbCBtZXNzYWdlIGxvZ2dpbmcKIENSRUFURSBwdWJsaWNhdGlvbiBt eXB1YiBGT1IgQUxMIFRBQkxFUyB3aXRoIChkZGwgPSAnZGF0YWJhc2UnKTsKIAorLS0gU0VUIFVT RVIKK0NSRUFURSBST0xFIGRkbF9yZXBsaWNhdGlvbl91c2VyIExPR0lOIFNVUEVSVVNFUjsKK1NF VCBTRVNTSU9OIEFVVEhPUklaQVRJT04gJ2RkbF9yZXBsaWNhdGlvbl91c2VyJzsKKwogU0VMRUNU ICdpbml0JyBGUk9NIHBnX2NyZWF0ZV9sb2dpY2FsX3JlcGxpY2F0aW9uX3Nsb3QoJ3JlZ3Jlc3Np b25fc2xvdCcsICd0ZXN0X2RlY29kaW5nJyk7CiAKIENSRUFURSBUQUJMRSB0ZXN0X2RkbG1lc3Nh Z2UgKGlkIHNlcmlhbCB1bmlxdWUsIGRhdGEgaW50KTsKQEAgLTIwLDcgKzI0LDYgQEAgQ1JFQVRF IFRBQkxFIHRlc3RfZGRsbWVzc2FnZSAoaWQgc2VyaWFsIHVuaXF1ZSwgZGF0YSBpbnQpOwogQUxU RVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGFkZCBjMyB2YXJjaGFyOwogQ09NTUlUOwogCi1cbyB8 IHNlZCAncy9yb2xlLipzZWFyY2hfcGF0aC9yb2xlOiByZWRhY3RlZCwgc2VhcmNoX3BhdGgvZycK IFNFTEVDVCBkYXRhIEZST00gcGdfbG9naWNhbF9zbG90X2dldF9jaGFuZ2VzKCdyZWdyZXNzaW9u X3Nsb3QnLCBOVUxMLCBOVUxMLCAnaW5jbHVkZS14aWRzJywgJzAnLCAnc2tpcC1lbXB0eS14YWN0 cycsICcxJyk7CiBTRUxFQ1QgcGdfZHJvcF9yZXBsaWNhdGlvbl9zbG90KCdyZWdyZXNzaW9uX3Ns b3QnKTsKIERST1AgVEFCTEUgdGVzdF9kZGxtZXNzYWdlOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvcmVwbGljYXRpb24vbG9naWNhbC9wcm90by5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v bG9naWNhbC9wcm90by5jCmluZGV4IGZmODUxM2UyZDIuLjNjZmE5NGRkOGMgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcHJvdG8uYworKysgYi9zcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Byb3RvLmMKQEAgLTY0MCw4ICs2NDAsOCBAQCBsb2dpY2Fs cmVwX3JlYWRfdHJ1bmNhdGUoU3RyaW5nSW5mbyBpbiwKICAqLwogdm9pZAogbG9naWNhbHJlcF93 cml0ZV9tZXNzYWdlKFN0cmluZ0luZm8gb3V0LCBUcmFuc2FjdGlvbklkIHhpZCwgWExvZ1JlY1B0 ciBsc24sCi0JCQkJCQkgYm9vbCB0cmFuc2FjdGlvbmFsLCBjb25zdCBjaGFyICpwcmVmaXgsIFNp emUgc3osCi0JCQkJCQkgY29uc3QgY2hhciAqbWVzc2FnZSkKKwkJCQkJCSBib29sIHRyYW5zYWN0 aW9uYWwsIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCQkJCSBTaXplIHN6LCBjb25zdCBjaGFyICpt ZXNzYWdlKQogewogCXVpbnQ4CQlmbGFncyA9IDA7CiAKQEAgLTY2Miw2ICs2NjIsNjMgQEAgbG9n aWNhbHJlcF93cml0ZV9tZXNzYWdlKFN0cmluZ0luZm8gb3V0LCBUcmFuc2FjdGlvbklkIHhpZCwg WExvZ1JlY1B0ciBsc24sCiAJcHFfc2VuZGJ5dGVzKG91dCwgbWVzc2FnZSwgc3opOwogfQogCisv KgorICogUmVhZCBEREwgTUVTU0FHRSBmcm9tIHN0cmVhbQorICovCitjb25zdCBjaGFyICoKK2xv Z2ljYWxyZXBfcmVhZF9kZGxtZXNzYWdlKFN0cmluZ0luZm8gaW4sIFhMb2dSZWNQdHIgKmxzbiwK KwkJCQkJCSAgIGNvbnN0IGNoYXIgKipwcmVmaXgsCisJCQkJCQkgICBjb25zdCBjaGFyICoqcm9s ZSwKKwkJCQkJCSAgIGNvbnN0IGNoYXIgKipzZWFyY2hfcGF0aCwKKwkJCQkJCSAgIGJvb2wgKnRy YW5zYWN0aW9uYWwsCisJCQkJCQkgICBTaXplICpzeikKK3sKKwl1aW50OCBmbGFnczsKKwljb25z dCBjaGFyICptc2c7CisKKwkvL1RPRE8gZG91YmxlIGNoZWNrIHdoZW4gZG8gd2UgbmVlZCB0byBn ZXQgVHJhbnNhY3Rpb25JZC4KKworCWZsYWdzID0gcHFfZ2V0bXNnaW50KGluLCAxKTsKKwkqdHJh bnNhY3Rpb25hbCA9IChmbGFncyAmIE1FU1NBR0VfVFJBTlNBQ1RJT05BTCkgPiAwOworCSpsc24g PSBwcV9nZXRtc2dpbnQ2NChpbik7CisJKnByZWZpeCA9IHBxX2dldG1zZ3N0cmluZyhpbik7CisJ KnJvbGUgPSBwcV9nZXRtc2dzdHJpbmcoaW4pOworCSpzZWFyY2hfcGF0aCA9IHBxX2dldG1zZ3N0 cmluZyhpbik7CisJKnN6ID0gcHFfZ2V0bXNnaW50KGluLCA0KTsKKwltc2cgPSBwcV9nZXRtc2di eXRlcyhpbiwgKnN6KTsKKworCXJldHVybiBtc2c7Cit9CisKKy8qCisgKiBXcml0ZSBEREwgTUVT U0FHRSB0byBzdHJlYW0KKyAqLwordm9pZAorbG9naWNhbHJlcF93cml0ZV9kZGxtZXNzYWdlKFN0 cmluZ0luZm8gb3V0LCBUcmFuc2FjdGlvbklkIHhpZCwgWExvZ1JlY1B0ciBsc24sCisJCQkJCQkg Ym9vbCB0cmFuc2FjdGlvbmFsLCBjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKnJvbGUs CisJCQkJCQkgY29uc3QgY2hhciAqc2VhcmNoX3BhdGgsIFNpemUgc3osIGNvbnN0IGNoYXIgKm1l c3NhZ2UpCit7CisJdWludDgJCWZsYWdzID0gMDsKKworCXBxX3NlbmRieXRlKG91dCwgTE9HSUNB TF9SRVBfTVNHX0RETE1FU1NBR0UpOworCisJLyogZW5jb2RlIGFuZCBzZW5kIG1lc3NhZ2UgZmxh Z3MgKi8KKwlpZiAodHJhbnNhY3Rpb25hbCkKKwkJZmxhZ3MgfD0gTUVTU0FHRV9UUkFOU0FDVElP TkFMOworCisJLyogdHJhbnNhY3Rpb24gSUQgKGlmIG5vdCB2YWxpZCwgd2UncmUgbm90IHN0cmVh bWluZykgKi8KKwlpZiAoVHJhbnNhY3Rpb25JZElzVmFsaWQoeGlkKSkKKwkJcHFfc2VuZGludDMy KG91dCwgeGlkKTsKKworCXBxX3NlbmRpbnQ4KG91dCwgZmxhZ3MpOworCXBxX3NlbmRpbnQ2NChv dXQsIGxzbik7CisJcHFfc2VuZHN0cmluZyhvdXQsIHByZWZpeCk7CisJcHFfc2VuZHN0cmluZyhv dXQsIHJvbGUpOworCXBxX3NlbmRzdHJpbmcob3V0LCBzZWFyY2hfcGF0aCk7CisJcHFfc2VuZGlu dDMyKG91dCwgc3opOworCXBxX3NlbmRieXRlcyhvdXQsIG1lc3NhZ2UsIHN6KTsKK30KKwogLyoK ICAqIFdyaXRlIHJlbGF0aW9uIGRlc2NyaXB0aW9uIHRvIHRoZSBvdXRwdXQgc3RyZWFtLgogICov CkBAIC0xMjE4LDYgKzEyNzUsOCBAQCBsb2dpY2FscmVwX21lc3NhZ2VfdHlwZShMb2dpY2FsUmVw TXNnVHlwZSBhY3Rpb24pCiAJCQlyZXR1cm4gIlRZUEUiOwogCQljYXNlIExPR0lDQUxfUkVQX01T R19NRVNTQUdFOgogCQkJcmV0dXJuICJNRVNTQUdFIjsKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0df RERMTUVTU0FHRToKKwkJCXJldHVybiAiRERMIjsKIAkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQkVH SU5fUFJFUEFSRToKIAkJCXJldHVybiAiQkVHSU4gUFJFUEFSRSI7CiAJCWNhc2UgTE9HSUNBTF9S RVBfTVNHX1BSRVBBUkU6CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dp Y2FsL3dvcmtlci5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYwpp bmRleCBmYzIxMGE5ZTdiLi5jMjVlM2E0Y2ZlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBs aWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xv Z2ljYWwvd29ya2VyLmMKQEAgLTE1Niw2ICsxNTYsNyBAQAogI2luY2x1ZGUgIm1pc2NhZG1pbi5o IgogI2luY2x1ZGUgIm5vZGVzL21ha2VmdW5jcy5oIgogI2luY2x1ZGUgIm9wdGltaXplci9vcHRp bWl6ZXIuaCIKKyNpbmNsdWRlICJwYXJzZXIvYW5hbHl6ZS5oIgogI2luY2x1ZGUgInBnc3RhdC5o IgogI2luY2x1ZGUgInBvc3RtYXN0ZXIvYmd3b3JrZXIuaCIKICNpbmNsdWRlICJwb3N0bWFzdGVy L2ludGVycnVwdC5oIgpAQCAtMTgwLDYgKzE4MSw4IEBACiAjaW5jbHVkZSAic3RvcmFnZS9wcm9j LmgiCiAjaW5jbHVkZSAic3RvcmFnZS9wcm9jYXJyYXkuaCIKICNpbmNsdWRlICJ0Y29wL3Rjb3Bw cm90LmgiCisjaW5jbHVkZSAidGNvcC9wcXVlcnkuaCIKKyNpbmNsdWRlICJ0Y29wL3V0aWxpdHku aCIKICNpbmNsdWRlICJ1dGlscy9hY2wuaCIKICNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgog I2luY2x1ZGUgInV0aWxzL2NhdGNhY2hlLmgiCkBAIC0zNDYsNiArMzQ5LDEwIEBAIHN0YXRpYyB2 b2lkIGFwcGx5X2hhbmRsZV90dXBsZV9yb3V0aW5nKEFwcGx5RXhlY3V0aW9uRGF0YSAqZWRhdGEs CiAJCQkJCQkJCQkgICBUdXBsZVRhYmxlU2xvdCAqcmVtb3Rlc2xvdCwKIAkJCQkJCQkJCSAgIExv Z2ljYWxSZXBUdXBsZURhdGEgKm5ld3R1cCwKIAkJCQkJCQkJCSAgIENtZFR5cGUgb3BlcmF0aW9u KTsKK3N0YXRpYyB2b2lkIGFwcGx5X2V4ZWN1dGVfc3FsX2NvbW1hbmQoY29uc3QgY2hhciAqY21k c3RyLAorCQkJCQkJCQkJICBjb25zdCBjaGFyKiByb2xlLAorCQkJCQkJCQkJICBjb25zdCBjaGFy KiBzZWFyY2hfcGF0aCwKKwkJCQkJCQkJCSAgYm9vbCBpc1RvcExldmVsKTsKIAogLyogQ29tcHV0 ZSBHSUQgZm9yIHR3b19waGFzZSB0cmFuc2FjdGlvbnMgKi8KIHN0YXRpYyB2b2lkIFR3b1BoYXNl VHJhbnNhY3Rpb25HaWQoT2lkIHN1YmlkLCBUcmFuc2FjdGlvbklkIHhpZCwgY2hhciAqZ2lkLCBp bnQgc3pnaWQpOwpAQCAtMjQ0NSw2ICsyNDUyLDI1OSBAQCBhcHBseV9oYW5kbGVfdHJ1bmNhdGUo U3RyaW5nSW5mbyBzKQogCWVuZF9yZXBsaWNhdGlvbl9zdGVwKCk7CiB9CiAKKy8qCisgKiBIYW5k bGUgZ2VuZXJpYyBtZXNzYWdlcy4KKyAqLworc3RhdGljIHZvaWQKK2FwcGx5X2hhbmRsZV9kZGxt ZXNzYWdlKFN0cmluZ0luZm8gcykKK3sKKwlYTG9nUmVjUHRyIGxzbjsKKwlib29sIHRyYW5zYWN0 aW9uYWw7CisJU2l6ZSBzejsKKwljb25zdCBjaGFyICpwcmVmaXg7CisJY29uc3QgY2hhciAqcm9s ZTsKKwljb25zdCBjaGFyICpzZWFyY2hfcGF0aDsKKwljb25zdCBjaGFyICptc2c7CisKKwltc2cg PSBsb2dpY2FscmVwX3JlYWRfZGRsbWVzc2FnZShzLCAmbHNuLCAmcHJlZml4LCAmcm9sZSwgJnNl YXJjaF9wYXRoLCAmdHJhbnNhY3Rpb25hbCwgJnN6KTsKKworCWFwcGx5X2V4ZWN1dGVfc3FsX2Nv bW1hbmQobXNnLCByb2xlLCBzZWFyY2hfcGF0aCwgdHJ1ZSk7Cit9CisKKy8qCisgKiBBZGQgY29u dGV4dCB0byB0aGUgZXJyb3JzIHByb2R1Y2VkIGJ5IGFwcGx5X2V4ZWN1dGVfc3FsX2NvbW1hbmQo KS4KKyAqLworc3RhdGljIHZvaWQKK2V4ZWN1dGVfc3FsX2NvbW1hbmRfZXJyb3JfY2Iodm9pZCAq YXJnKQoreworCWVycmNvbnRleHQoImR1cmluZyBleGVjdXRpb24gb2YgU1FMIHN0YXRlbWVudDog JXMiLCAoY2hhciAqKSBhcmcpOworfQorCisvKgorICogRXhlY3V0ZSBhbiBTUUwgY29tbWFuZC4g VGhpcyBjYW4gYmUgbXVsdGlwbGUgcXVlcmllcy4KKyAqIFRoaXMgaXMgbW9kaWZpZWQgYmFzZWQg b24gcGdsb2dpY2FsX2V4ZWN1dGVfc3FsX2NvbW1hbmQoKS4KKyAqLworc3RhdGljIHZvaWQKK2Fw cGx5X2V4ZWN1dGVfc3FsX2NvbW1hbmQoY29uc3QgY2hhciAqY21kc3RyLCBjb25zdCBjaGFyICpy b2xlLCBjb25zdCBjaGFyICpzZWFyY2hfcGF0aCwKKwkJCQkJCSAgYm9vbCBpc1RvcExldmVsKQor eworCWNvbnN0IGNoYXIgKnNhdmVfZGVidWdfcXVlcnlfc3RyaW5nID0gZGVidWdfcXVlcnlfc3Ry aW5nOworCUxpc3QJICAgKnBhcnNldHJlZV9saXN0OworCUxpc3RDZWxsICAgKnBhcnNldHJlZV9p dGVtOworCU1lbW9yeUNvbnRleHQgb2xkY29udGV4dDsKKwlFcnJvckNvbnRleHRDYWxsYmFjayBl cnJjYWxsYmFjazsKKwlpbnQJCQlzYXZlX25lc3RsZXZlbDsKKworCS8qCisJICogU3dpdGNoIHRv IGFwcHJvcHJpYXRlIGNvbnRleHQgZm9yIGNvbnN0cnVjdGluZyBwYXJzZXRyZWVzLgorCSAqLwor CW9sZGNvbnRleHQgPSBNZW1vcnlDb250ZXh0U3dpdGNoVG8oQXBwbHlNZXNzYWdlQ29udGV4dCk7 CisJYmVnaW5fcmVwbGljYXRpb25fc3RlcCgpOworCisJLyoKKwkgKiBTZXQgdGhlIGN1cnJlbnQg cm9sZSB0byB0aGUgdXNlciB0aGF0IGV4ZWN1dGVkIHRoZSBjb21tYW5kIG9uIHRoZQorCSAqIHB1 YmxpY2F0aW9uIHNlcnZlci4KKwkgKiBTZXQgdGhlIGN1cnJlbnQgc2VhcmNoX3BhdGggdG8gdGhl IHNlYXJjaF9wYXRoIG9uIHRoZSBwdWJsaWNhdGlvbgorCSAqIHNlcnZlciB3aGVuIHRoZSBjb21t YW5kIHdhcyBleGVjdXRlZC4KKwkgKi8KKwlzYXZlX25lc3RsZXZlbCA9IE5ld0dVQ05lc3RMZXZl bCgpOworCVNldENvbmZpZ09wdGlvbigicm9sZSIsIHJvbGUsIFBHQ19JTlRFUk5BTCwgUEdDX1Nf T1ZFUlJJREUpOworCVNldENvbmZpZ09wdGlvbigic2VhcmNoX3BhdGgiLCBzZWFyY2hfcGF0aCwg UEdDX0lOVEVSTkFMLCBQR0NfU19PVkVSUklERSk7CisKKwllcnJjYWxsYmFjay5jYWxsYmFjayA9 IGV4ZWN1dGVfc3FsX2NvbW1hbmRfZXJyb3JfY2I7CisJZXJyY2FsbGJhY2suYXJnID0gKGNoYXIg KikgY21kc3RyOworCWVycmNhbGxiYWNrLnByZXZpb3VzID0gZXJyb3JfY29udGV4dF9zdGFjazsK KwllcnJvcl9jb250ZXh0X3N0YWNrID0gJmVycmNhbGxiYWNrOworCisJZGVidWdfcXVlcnlfc3Ry aW5nID0gY21kc3RyOworCisJcGFyc2V0cmVlX2xpc3QgPSBwZ19wYXJzZV9xdWVyeShjbWRzdHIp OworCisJLyoKKwkgKiBEbyBhIGxpbWl0ZWQgYW1vdW50IG9mIHNhZmV0eSBjaGVja2luZyBhZ2Fp bnN0IENPTkNVUlJFTlRMWSBjb21tYW5kcworCSAqIGV4ZWN1dGVkIGluIHNpdHVhdGlvbnMgd2hl cmUgdGhleSBhcmVuJ3QgYWxsb3dlZC4gVGhlIHNlbmRlciBzaWRlIHNob3VsZAorCSAqIHByb3Zp ZGUgcHJvdGVjdGlvbiwgYnV0IGJldHRlciBiZSBzYWZlIHRoYW4gc29ycnkuCisJICovCisJaXNU b3BMZXZlbCA9IGlzVG9wTGV2ZWwgJiYgKGxpc3RfbGVuZ3RoKHBhcnNldHJlZV9saXN0KSA9PSAx KTsKKworCS8qCisJICogU3dpdGNoIGJhY2sgdG8gdHJhbnNhY3Rpb24gY29udGV4dCB0byBlbnRl ciB0aGUgbG9vcC4KKwkgKi8KKwlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY29udGV4dCk7CisK Kwlmb3JlYWNoKHBhcnNldHJlZV9pdGVtLCBwYXJzZXRyZWVfbGlzdCkKKwl7CisJCUxpc3QJICAg KnBsYW50cmVlX2xpc3Q7CisJCUxpc3QJICAgKnF1ZXJ5dHJlZV9saXN0OworCQlSYXdTdG10CSAg ICpjb21tYW5kID0gKFJhd1N0bXQgKikgbGZpcnN0KHBhcnNldHJlZV9pdGVtKTsKKwkJQ29tbWFu ZFRhZwljb21tYW5kVGFnOworCQlNZW1vcnlDb250ZXh0IHBlcl9wYXJzZXRyZWVfY29udGV4dCA9 IE5VTEw7CisJCVBvcnRhbAkJcG9ydGFsOworCQlEZXN0UmVjZWl2ZXIgKnJlY2VpdmVyOworCQli b29sCQkgc25hcHNob3Rfc2V0ID0gZmFsc2U7CisJCWNoYXIgCQkgKnNjaGVtYW5hbWUgPSBOVUxM OyAvKiBGb3IgQ1JFQVRFIFRBQkxFIHN0bXQgb25seSAqLworCQljaGFyCQkgKnJlbG5hbWUgPSBO VUxMOyAvKiBGb3IgQ1JFQVRFIFRBQkxFIHN0bXQgb25seSAqLworCisJCWNvbW1hbmRUYWcgPSBD cmVhdGVDb21tYW5kVGFnKChOb2RlICopY29tbWFuZCk7CisKKwkJLyoKKwkJICogUmVtZW1iZXIg dGhlIHNjaGVtYW5hbWUgYW5kIHJlbG5hbWUgaWYgaXQncyBhIENSRUFURSBUQUJMRSBzdG10CisJ CSAqIGJlY2F1c2Ugd2Ugd2lsbCBuZWVkIHRoZW0gZm9yIHNvbWUgcG9zdC1wcm9jZXNzaW5nIGFm dGVyIHdlCisJCSAqIGV4ZWN1dGUgdGhlIHN0bXQuIEF0IHRoYXQgcG9pbnQsIENyZWF0ZVN0bXQg bWF5IGhhdmUgYmVlbiBmcmVlZWQgdXAuCisJCSAqLworCQlpZiAoY29tbWFuZFRhZyA9PSBDTURU QUdfQ1JFQVRFX1RBQkxFKQorCQl7CisJCQlDcmVhdGVTdG10ICpjc3RtdCA9IChDcmVhdGVTdG10 ICopY29tbWFuZC0+c3RtdDsKKwkJCVJhbmdlVmFyICpydiA9IGNzdG10LT5yZWxhdGlvbjsKKwkJ CXNjaGVtYW5hbWUgPSBydi0+c2NoZW1hbmFtZTsKKwkJCXJlbG5hbWUgPSBydi0+cmVsbmFtZTsK KwkJfQorCisJCS8qCisJCSAqIFNldCB1cCBhIHNuYXBzaG90IGlmIHBhcnNlIGFuYWx5c2lzL3Bs YW5uaW5nIHdpbGwgbmVlZCBvbmUuCisJCSAqLworCQlpZiAoYW5hbHl6ZV9yZXF1aXJlc19zbmFw c2hvdChjb21tYW5kKSkKKwkJeworCQkJUHVzaEFjdGl2ZVNuYXBzaG90KEdldFRyYW5zYWN0aW9u U25hcHNob3QoKSk7CisJCQlzbmFwc2hvdF9zZXQgPSB0cnVlOworCQl9CisKKwkJLyoKKwkJICog T0sgdG8gYW5hbHl6ZSwgcmV3cml0ZSwgYW5kIHBsYW4gdGhpcyBxdWVyeS4KKwkJICoKKwkJICog U3dpdGNoIHRvIGFwcHJvcHJpYXRlIGNvbnRleHQgZm9yIGNvbnN0cnVjdGluZyBxdWVyeSBhbmQg cGxhbiB0cmVlcworCQkgKiAodGhlc2UgY2FuJ3QgYmUgaW4gdGhlIHRyYW5zYWN0aW9uIGNvbnRl eHQsIGFzIHRoYXQgd2lsbCBnZXQgcmVzZXQKKwkJICogd2hlbiB0aGUgY29tbWFuZCBpcyBDT01N SVQvUk9MTEJBQ0spLiAgSWYgd2UgaGF2ZSBtdWx0aXBsZQorCQkgKiBwYXJzZXRyZWVzLCB3ZSB1 c2UgYSBzZXBhcmF0ZSBjb250ZXh0IGZvciBlYWNoIG9uZSwgc28gdGhhdCB3ZSBjYW4KKwkJICog ZnJlZSB0aGF0IG1lbW9yeSBiZWZvcmUgbW92aW5nIG9uIHRvIHRoZSBuZXh0IG9uZS4gIEJ1dCBm b3IgdGhlCisJCSAqIGxhc3QgKG9yIG9ubHkpIHBhcnNldHJlZSwganVzdCB1c2UgTWVzc2FnZUNv bnRleHQsIHdoaWNoIHdpbGwgYmUKKwkJICogcmVzZXQgc2hvcnRseSBhZnRlciBjb21wbGV0aW9u IGFueXdheS4gIEluIGV2ZW50IG9mIGFuIGVycm9yLCB0aGUKKwkJICogcGVyX3BhcnNldHJlZV9j b250ZXh0IHdpbGwgYmUgZGVsZXRlZCB3aGVuIE1lc3NhZ2VDb250ZXh0IGlzIHJlc2V0LgorCQkg Ki8KKwkJaWYgKGxuZXh0KHBhcnNldHJlZV9saXN0LCBwYXJzZXRyZWVfaXRlbSkgIT0gTlVMTCkK KwkJeworCQkJcGVyX3BhcnNldHJlZV9jb250ZXh0ID0KKwkJCQlBbGxvY1NldENvbnRleHRDcmVh dGUoTWVzc2FnZUNvbnRleHQsCisJCQkJCQkJCQkgICJwZXItcGFyc2V0cmVlIG1lc3NhZ2UgY29u dGV4dCIsCisJCQkJCQkJCQkgIEFMTE9DU0VUX0RFRkFVTFRfU0laRVMpOworCQkJb2xkY29udGV4 dCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhwZXJfcGFyc2V0cmVlX2NvbnRleHQpOworCQl9CisJ CWVsc2UKKwkJCW9sZGNvbnRleHQgPSBNZW1vcnlDb250ZXh0U3dpdGNoVG8oQXBwbHlNZXNzYWdl Q29udGV4dCk7CisKKwkJcXVlcnl0cmVlX2xpc3QgPSBwZ19hbmFseXplX2FuZF9yZXdyaXRlX2Zp eGVkcGFyYW1zKAorCQkJY29tbWFuZCwKKwkJCWNtZHN0ciwKKwkJCU5VTEwsIDAsIE5VTEwpOwor CisJCXBsYW50cmVlX2xpc3QgPSBwZ19wbGFuX3F1ZXJpZXMoCisJCQlxdWVyeXRyZWVfbGlzdCwg Y21kc3RyLCAwLCBOVUxMKTsKKworCQkvKgorCQkgKiBEb25lIHdpdGggdGhlIHNuYXBzaG90IHVz ZWQgZm9yIHBhcnNpbmcvcGxhbm5pbmcuCisJCSAqCisJCSAqIFdoaWxlIGl0IGxvb2tzIHByb21p c2luZyB0byByZXVzZSB0aGUgc2FtZSBzbmFwc2hvdCBmb3IgcXVlcnkKKwkJICogZXhlY3V0aW9u IChhdCBsZWFzdCBmb3Igc2ltcGxlIHByb3RvY29sKSwgdW5mb3J0dW5hdGVseSBpdCBjYXVzZXMK KwkJICogZXhlY3V0aW9uIHRvIHVzZSBhIHNuYXBzaG90IHRoYXQgaGFzIGJlZW4gYWNxdWlyZWQg YmVmb3JlIGxvY2tpbmcKKwkJICogYW55IG9mIHRoZSB0YWJsZXMgbWVudGlvbmVkIGluIHRoZSBx dWVyeS4gIFRoaXMgY3JlYXRlcyB1c2VyLQorCQkgKiB2aXNpYmxlIGFub21hbGllcywgc28gcmVm cmFpbi4gIFJlZmVyIHRvCisJCSAqIGh0dHBzOi8vcG9zdGdyLmVzL20vZmxhdC81MDc1RDhERi42 MDUwNTAwQGZ1enp5LmN6IGZvciBkZXRhaWxzLgorCQkgKi8KKwkJaWYgKHNuYXBzaG90X3NldCkK KwkJCVBvcEFjdGl2ZVNuYXBzaG90KCk7CisKKwkJcG9ydGFsID0gQ3JlYXRlUG9ydGFsKCJsb2dp Y2FsIHJlcGxpY2F0aW9uIiwgdHJ1ZSwgdHJ1ZSk7CisKKwkJLyoKKwkJICogV2UgZG9uJ3QgaGF2 ZSB0byBjb3B5IGFueXRoaW5nIGludG8gdGhlIHBvcnRhbCwgYmVjYXVzZSBldmVyeXRoaW5nCisJ CSAqIHdlIGFyZSBwYXNzaW5nIGhlcmUgaXMgaW4gTWVzc2FnZUNvbnRleHQgb3IgdGhlCisJCSAq IHBlcl9wYXJzZXRyZWVfY29udGV4dCwgYW5kIHNvIHdpbGwgb3V0bGl2ZSB0aGUgcG9ydGFsIGFu eXdheS4KKwkJICovCisJCVBvcnRhbERlZmluZVF1ZXJ5KHBvcnRhbCwKKwkJCQkJCSAgTlVMTCwK KwkJCQkJCSAgY21kc3RyLAorCQkJCQkJICBjb21tYW5kVGFnLAorCQkJCQkJICBwbGFudHJlZV9s aXN0LAorCQkJCQkJICBOVUxMKTsKKworCQkvKgorCQkgKiBTdGFydCB0aGUgcG9ydGFsLiAgTm8g cGFyYW1ldGVycyBoZXJlLgorCQkgKi8KKwkJUG9ydGFsU3RhcnQocG9ydGFsLCBOVUxMLCAwLCBJ bnZhbGlkU25hcHNob3QpOworCisJCS8qIERlc3ROb25lIGZvciBsb2dpY2FsIHJlcGxpY2F0aW9u ICovCisJCXJlY2VpdmVyID0gQ3JlYXRlRGVzdFJlY2VpdmVyKERlc3ROb25lKTsKKworCQkvKgor CQkgKiBTd2l0Y2ggYmFjayB0byB0cmFuc2FjdGlvbiBjb250ZXh0IGZvciBleGVjdXRpb24uCisJ CSAqLworCQlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY29udGV4dCk7CisKKwkJKHZvaWQpIFBv cnRhbFJ1bihwb3J0YWwsCisJCQkJCQkgRkVUQ0hfQUxMLAorCQkJCQkJIGlzVG9wTGV2ZWwsCisJ CQkJCQkgdHJ1ZSwKKwkJCQkJCSByZWNlaXZlciwKKwkJCQkJCSByZWNlaXZlciwKKwkJCQkJCSBO VUxMKTsKKwkJKCpyZWNlaXZlci0+ckRlc3Ryb3kpIChyZWNlaXZlcik7CisKKwkJUG9ydGFsRHJv cChwb3J0YWwsIGZhbHNlKTsKKworCQlDb21tYW5kQ291bnRlckluY3JlbWVudCgpOworCisJCS8q CisJCSAqIFRhYmxlIGNyZWF0ZWQgYnkgRERMIHJlcGxpY2F0aW9uIChkYXRhYmFzZSBsZXZlbCkg aXMgYXV0b21hdGljYWxseQorCQkgKiBhZGRlZCB0byB0aGUgc3Vic2NyaXB0aW9uIGhlcmUuCisJ CSAqCisJCSAqIENhbGwgQWRkU3Vic2NyaXB0aW9uUmVsU3RhdGUgZm9yIENSRUFURSBUQUJFTCBj b21tYW5kIHRvIHNldAorCQkgKiB0aGUgcmVsc3RhdGUgdG8gU1VCUkVMX1NUQVRFX0lOSVQgc28g RE1MIGNoYW5nZXMgb24gdGhpcworCQkgKiBuZXcgdGFibGUgY2FuIGJlIHJlcGxpY2F0ZWQgd2l0 aG91dCBoYXZpbmcgdG8gbWFudWFsbHkgcnVuCisJCSAqICJhbHRlciBzdWJzY3JpcHRpb24gLi4u IHJlZnJlc2ggcHVibGljYXRpb24iCisJCSAqLworCQlpZiAoY29tbWFuZFRhZyA9PSBDTURUQUdf Q1JFQVRFX1RBQkxFKQorCQl7CisJCQlPaWQgcmVsaWQ7CisJCQlPaWQgcmVsbmFtZXNwYWNlID0g SW52YWxpZE9pZDsKKworCQkJaWYgKHNjaGVtYW5hbWUgIT0gTlVMTCkKKwkJCQlyZWxuYW1lc3Bh Y2UgPSBnZXRfbmFtZXNwYWNlX29pZChzY2hlbWFuYW1lLCBmYWxzZSk7CisJCQlpZiAocmVsbmFt ZXNwYWNlICE9IEludmFsaWRPaWQpCisJCQkJcmVsaWQgPSBnZXRfcmVsbmFtZV9yZWxpZChyZWxu YW1lLCByZWxuYW1lc3BhY2UpOworCQkJZWxzZQorCQkJeworCQkJCS8qCisJCQkJICogVHJ5IHRv IHJlc29sdmUgdW5xdWFsaWZpZWQgcmVsbmFtZS4KKwkJCQkgKiBOb3RpY2Ugd2UgaGF2ZSBzZXQg dGhlIHNlYXJjaF9wYXRoIHRvIHRoZSBvcmlnaW5hbCBzZWFyY2hfcGF0aCBvbiB0aGUgcHVibGlz aGVyCisJCQkJICogYXQgdGhlIGJlZ2lubmluZyBvZiB0aGlzIGZ1bmN0aW9uLgorCQkJCSAqLwor CQkJCXJlbGlkID0gUmVsbmFtZUdldFJlbGlkKHJlbG5hbWUpOworCQkJfQorCisJCQlpZiAocmVs aWQgIT0gSW52YWxpZE9pZCkKKwkJCXsKKwkJCQlBZGRTdWJzY3JpcHRpb25SZWxTdGF0ZShNeVN1 YnNjcmlwdGlvbi0+b2lkLCByZWxpZCwKKwkJCQkJCQkJCQlTVUJSRUxfU1RBVEVfSU5JVCwKKwkJ CQkJCQkJCQlJbnZhbGlkWExvZ1JlY1B0cik7CisJCQkJZXJlcG9ydChERUJVRzEsCisJCQkJCQko ZXJybXNnX2ludGVybmFsKCJ0YWJsZSBcIiVzXCIgYWRkZWQgdG8gc3Vic2NyaXB0aW9uIFwiJXNc IiIsCisJCQkJCQkJCQkJIHJlbG5hbWUsIE15U3Vic2NyaXB0aW9uLT5uYW1lKSkpOworCQkJfQor CQl9CisJfQorCisJLyoKKwkgKiBSZXN0b3JlIHRoZSBHVUMgdmFyaWFibGVzIHdlIHNldCBhYm92 ZS4KKwkgKi8KKwlBdEVPWGFjdF9HVUModHJ1ZSwgc2F2ZV9uZXN0bGV2ZWwpOworCisJLyogcHJv dGVjdCBhZ2FpbnN0IHN0YWNrIHJlc2V0cyBkdXJpbmcgQ09OQ1VSUkVOVExZIHByb2Nlc3Npbmcg Ki8KKwlpZiAoZXJyb3JfY29udGV4dF9zdGFjayA9PSAmZXJyY2FsbGJhY2spCisJCWVycm9yX2Nv bnRleHRfc3RhY2sgPSBlcnJjYWxsYmFjay5wcmV2aW91czsKKworCWRlYnVnX3F1ZXJ5X3N0cmlu ZyA9IHNhdmVfZGVidWdfcXVlcnlfc3RyaW5nOworCWVuZF9yZXBsaWNhdGlvbl9zdGVwKCk7Cit9 CiAKIC8qCiAgKiBMb2dpY2FsIHJlcGxpY2F0aW9uIHByb3RvY29sIG1lc3NhZ2UgZGlzcGF0Y2hl ci4KQEAgLTI1MTAsNiArMjc3MCwxMCBAQCBhcHBseV9kaXNwYXRjaChTdHJpbmdJbmZvIHMpCiAJ CQkgKi8KIAkJCWJyZWFrOwogCisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX0RETE1FU1NBR0U6CisJ CQlhcHBseV9oYW5kbGVfZGRsbWVzc2FnZShzKTsKKwkJCWJyZWFrOworCiAJCWNhc2UgTE9HSUNB TF9SRVBfTVNHX1NUUkVBTV9TVEFSVDoKIAkJCWFwcGx5X2hhbmRsZV9zdHJlYW1fc3RhcnQocyk7 CiAJCQlicmVhazsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Bnb3V0cHV0 L3Bnb3V0cHV0LmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9wZ291dHB1dC9wZ291dHB1dC5j CmluZGV4IDQyYzA2YWYyMzkuLmEwOTE0M2RhZGYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL3Bnb3V0cHV0L3Bnb3V0cHV0LmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRp b24vcGdvdXRwdXQvcGdvdXRwdXQuYwpAQCAtNTQsNiArNTQsMTAgQEAgc3RhdGljIHZvaWQgcGdv dXRwdXRfbWVzc2FnZShMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsCiAJCQkJCQkJIFJlb3Jk ZXJCdWZmZXJUWE4gKnR4biwgWExvZ1JlY1B0ciBtZXNzYWdlX2xzbiwKIAkJCQkJCQkgYm9vbCB0 cmFuc2FjdGlvbmFsLCBjb25zdCBjaGFyICpwcmVmaXgsCiAJCQkJCQkJIFNpemUgc3osIGNvbnN0 IGNoYXIgKm1lc3NhZ2UpOworc3RhdGljIHZvaWQgcGdvdXRwdXRfZGRsbWVzc2FnZShMb2dpY2Fs RGVjb2RpbmdDb250ZXh0ICpjdHgsCisJCQkJCQkJCVJlb3JkZXJCdWZmZXJUWE4gKnR4biwgWExv Z1JlY1B0ciBtZXNzYWdlX2xzbiwKKwkJCQkJCQkJYm9vbCB0cmFuc2FjdGlvbmFsLCBjb25zdCBj aGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKnJvbGUsCisJCQkJCQkJCWNvbnN0IGNoYXIgKnNlYXJj aF9wYXRoLCBTaXplIHN6LCBjb25zdCBjaGFyICptZXNzYWdlKTsKIHN0YXRpYyBib29sIHBnb3V0 cHV0X29yaWdpbl9maWx0ZXIoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LAogCQkJCQkJCQkg ICBSZXBPcmlnaW5JZCBvcmlnaW5faWQpOwogc3RhdGljIHZvaWQgcGdvdXRwdXRfYmVnaW5fcHJl cGFyZV90eG4oTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LApAQCAtMjU2LDYgKzI2MCw3IEBA IF9QR19vdXRwdXRfcGx1Z2luX2luaXQoT3V0cHV0UGx1Z2luQ2FsbGJhY2tzICpjYikKIAljYi0+ Y2hhbmdlX2NiID0gcGdvdXRwdXRfY2hhbmdlOwogCWNiLT50cnVuY2F0ZV9jYiA9IHBnb3V0cHV0 X3RydW5jYXRlOwogCWNiLT5tZXNzYWdlX2NiID0gcGdvdXRwdXRfbWVzc2FnZTsKKwljYi0+ZGRs bWVzc2FnZV9jYiA9IHBnb3V0cHV0X2RkbG1lc3NhZ2U7CiAJY2ItPmNvbW1pdF9jYiA9IHBnb3V0 cHV0X2NvbW1pdF90eG47CiAKIAljYi0+YmVnaW5fcHJlcGFyZV9jYiA9IHBnb3V0cHV0X2JlZ2lu X3ByZXBhcmVfdHhuOwpAQCAtMjcyLDYgKzI3Nyw3IEBAIF9QR19vdXRwdXRfcGx1Z2luX2luaXQo T3V0cHV0UGx1Z2luQ2FsbGJhY2tzICpjYikKIAljYi0+c3RyZWFtX2NvbW1pdF9jYiA9IHBnb3V0 cHV0X3N0cmVhbV9jb21taXQ7CiAJY2ItPnN0cmVhbV9jaGFuZ2VfY2IgPSBwZ291dHB1dF9jaGFu Z2U7CiAJY2ItPnN0cmVhbV9tZXNzYWdlX2NiID0gcGdvdXRwdXRfbWVzc2FnZTsKKwljYi0+c3Ry ZWFtX2RkbG1lc3NhZ2VfY2IgPSBwZ291dHB1dF9kZGxtZXNzYWdlOwogCWNiLT5zdHJlYW1fdHJ1 bmNhdGVfY2IgPSBwZ291dHB1dF90cnVuY2F0ZTsKIAkvKiB0cmFuc2FjdGlvbiBzdHJlYW1pbmcg LSB0d28tcGhhc2UgY29tbWl0ICovCiAJY2ItPnN0cmVhbV9wcmVwYXJlX2NiID0gcGdvdXRwdXRf c3RyZWFtX3ByZXBhcmVfdHhuOwpAQCAtMTY1Niw4ICsxNjYyLDggQEAgcGdvdXRwdXRfdHJ1bmNh dGUoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCiAK IHN0YXRpYyB2b2lkCiBwZ291dHB1dF9tZXNzYWdlKExvZ2ljYWxEZWNvZGluZ0NvbnRleHQgKmN0 eCwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAotCQkJCSBYTG9nUmVjUHRyIG1lc3NhZ2VfbHNuLCBi b29sIHRyYW5zYWN0aW9uYWwsIGNvbnN0IGNoYXIgKnByZWZpeCwgU2l6ZSBzeiwKLQkJCQkgY29u c3QgY2hhciAqbWVzc2FnZSkKKwkJCQkgWExvZ1JlY1B0ciBtZXNzYWdlX2xzbiwgYm9vbCB0cmFu c2FjdGlvbmFsLAorCQkJCSBjb25zdCBjaGFyICpwcmVmaXgsIFNpemUgc3osIGNvbnN0IGNoYXIg Km1lc3NhZ2UpCiB7CiAJUEdPdXRwdXREYXRhICpkYXRhID0gKFBHT3V0cHV0RGF0YSAqKSBjdHgt Pm91dHB1dF9wbHVnaW5fcHJpdmF0ZTsKIAlUcmFuc2FjdGlvbklkIHhpZCA9IEludmFsaWRUcmFu c2FjdGlvbklkOwpAQCAtMTY5Nyw2ICsxNzAzLDcwIEBAIHBnb3V0cHV0X21lc3NhZ2UoTG9naWNh bERlY29kaW5nQ29udGV4dCAqY3R4LCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCiAJT3V0cHV0UGx1 Z2luV3JpdGUoY3R4LCB0cnVlKTsKIH0KIAorc3RhdGljIHZvaWQKK3Bnb3V0cHV0X2RkbG1lc3Nh Z2UoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCisJ CQkJIFhMb2dSZWNQdHIgbWVzc2FnZV9sc24sIGJvb2wgdHJhbnNhY3Rpb25hbCwKKwkJCQkgY29u c3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICogcm9sZSwKKwkJCQkgY29uc3QgY2hhciAqc2Vh cmNoX3BhdGgsIFNpemUgc3osIGNvbnN0IGNoYXIgKm1lc3NhZ2UpCit7CisJUEdPdXRwdXREYXRh ICpkYXRhID0gKFBHT3V0cHV0RGF0YSAqKSBjdHgtPm91dHB1dF9wbHVnaW5fcHJpdmF0ZTsKKwlU cmFuc2FjdGlvbklkIHhpZCA9IEludmFsaWRUcmFuc2FjdGlvbklkOworCUxpc3RDZWxsICpsYzsK KworCS8qIFJlbG9hZCBwdWJsaWNhdGlvbnMgaWYgbmVlZGVkIGJlZm9yZSB1c2UuICovCisJaWYg KCFwdWJsaWNhdGlvbnNfdmFsaWQpCisJeworCQlNZW1vcnlDb250ZXh0IG9sZGN0eCA9IE1lbW9y eUNvbnRleHRTd2l0Y2hUbyhDYWNoZU1lbW9yeUNvbnRleHQpOworCQlpZiAoZGF0YS0+cHVibGlj YXRpb25zKQorCQkJbGlzdF9mcmVlX2RlZXAoZGF0YS0+cHVibGljYXRpb25zKTsKKworCQlkYXRh LT5wdWJsaWNhdGlvbnMgPSBMb2FkUHVibGljYXRpb25zKGRhdGEtPnB1YmxpY2F0aW9uX25hbWVz KTsKKwkJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGN0eCk7CisJCXB1YmxpY2F0aW9uc192YWxp ZCA9IHRydWU7CisJfQorCisJLyogQ2hlY2sgaWYgZGRsIHJlcGxpY2F0aW9uIGlzIHR1cm5lZCBv biBmb3IgdGhlIHB1YmxpY2F0aW9ucyAqLworCWZvcmVhY2gobGMsIGRhdGEtPnB1YmxpY2F0aW9u cykKKwl7CisJCVB1YmxpY2F0aW9uICpwdWIgPSAoUHVibGljYXRpb24gKikgbGZpcnN0KGxjKTsK KwkJLyogVE9ETyBuZWVkIHRvIGNoZWNrIHJlbGlkIGZvciB0YWJsZSBsZXZlbCBERExzICovCisJ CWlmICghcHViLT5wdWJhY3Rpb25zLnB1YmRkbF9kYXRhYmFzZSAmJiAhcHViLT5wdWJhY3Rpb25z LnB1YmRkbF90YWJsZSkKKwkJCXJldHVybjsKKwl9CisKKwkvKgorCSAqIFJlbWVtYmVyIHRoZSB4 aWQgZm9yIHRoZSBtZXNzYWdlIGluIHN0cmVhbWluZyBtb2RlLiBTZWUKKwkgKiBwZ291dHB1dF9j aGFuZ2UuCisJICovCisJaWYgKGluX3N0cmVhbWluZykKKwkJeGlkID0gdHhuLT54aWQ7CisKKwkv KgorCSAqIE91dHB1dCBCRUdJTiBpZiB3ZSBoYXZlbid0IHlldC4gQXZvaWQgZm9yIG5vbi10cmFu c2FjdGlvbmFsCisJICogbWVzc2FnZXMuCisJICovCisJaWYgKHRyYW5zYWN0aW9uYWwpCisJewor CQlQR091dHB1dFR4bkRhdGEgKnR4bmRhdGEgPSAoUEdPdXRwdXRUeG5EYXRhICopIHR4bi0+b3V0 cHV0X3BsdWdpbl9wcml2YXRlOworCisJCS8qIFNlbmQgQkVHSU4gaWYgd2UgaGF2ZW4ndCB5ZXQg Ki8KKwkJaWYgKHR4bmRhdGEgJiYgIXR4bmRhdGEtPnNlbnRfYmVnaW5fdHhuKQorCQkJcGdvdXRw dXRfc2VuZF9iZWdpbihjdHgsIHR4bik7CisJfQorCisJT3V0cHV0UGx1Z2luUHJlcGFyZVdyaXRl KGN0eCwgdHJ1ZSk7CisJbG9naWNhbHJlcF93cml0ZV9kZGxtZXNzYWdlKGN0eC0+b3V0LAorCQkJ CQkJCSB4aWQsCisJCQkJCQkJIG1lc3NhZ2VfbHNuLAorCQkJCQkJCSB0cmFuc2FjdGlvbmFsLAor CQkJCQkJCSBwcmVmaXgsCisJCQkJCQkJIHJvbGUsCisJCQkJCQkJIHNlYXJjaF9wYXRoLAorCQkJ CQkJCSBzeiwKKwkJCQkJCQkgbWVzc2FnZSk7CisJT3V0cHV0UGx1Z2luV3JpdGUoY3R4LCB0cnVl KTsKK30KKwogLyoKICAqIEN1cnJlbnRseSB3ZSBhbHdheXMgZm9yd2FyZC4KICAqLwpAQCAtMTk4 Miw3ICsyMDUyLDkgQEAgZ2V0X3JlbF9zeW5jX2VudHJ5KFBHT3V0cHV0RGF0YSAqZGF0YSwgUmVs YXRpb24gcmVsYXRpb24pCiAJCWVudHJ5LT5zY2hlbWFfc2VudCA9IGZhbHNlOwogCQllbnRyeS0+ c3RyZWFtZWRfdHhucyA9IE5JTDsKIAkJZW50cnktPnB1YmFjdGlvbnMucHViaW5zZXJ0ID0gZW50 cnktPnB1YmFjdGlvbnMucHVidXBkYXRlID0KLQkJCWVudHJ5LT5wdWJhY3Rpb25zLnB1YmRlbGV0 ZSA9IGVudHJ5LT5wdWJhY3Rpb25zLnB1YnRydW5jYXRlID0gZmFsc2U7CisJCQllbnRyeS0+cHVi YWN0aW9ucy5wdWJkZWxldGUgPSBlbnRyeS0+cHViYWN0aW9ucy5wdWJ0cnVuY2F0ZSA9CisJCQll bnRyeS0+cHViYWN0aW9ucy5wdWJkZGxfZGF0YWJhc2UgPQorCQkJZW50cnktPnB1YmFjdGlvbnMu cHViZGRsX3RhYmxlID0gZmFsc2U7CiAJCWVudHJ5LT5uZXdfc2xvdCA9IE5VTEw7CiAJCWVudHJ5 LT5vbGRfc2xvdCA9IE5VTEw7CiAJCW1lbXNldChlbnRyeS0+ZXhwcnN0YXRlLCAwLCBzaXplb2Yo ZW50cnktPmV4cHJzdGF0ZSkpOwpAQCAtMjA0MCw2ICsyMTEyLDggQEAgZ2V0X3JlbF9zeW5jX2Vu dHJ5KFBHT3V0cHV0RGF0YSAqZGF0YSwgUmVsYXRpb24gcmVsYXRpb24pCiAJCWVudHJ5LT5wdWJh Y3Rpb25zLnB1YnVwZGF0ZSA9IGZhbHNlOwogCQllbnRyeS0+cHViYWN0aW9ucy5wdWJkZWxldGUg PSBmYWxzZTsKIAkJZW50cnktPnB1YmFjdGlvbnMucHVidHJ1bmNhdGUgPSBmYWxzZTsKKwkJZW50 cnktPnB1YmFjdGlvbnMucHViZGRsX2RhdGFiYXNlID0gZmFsc2U7CisJCWVudHJ5LT5wdWJhY3Rp b25zLnB1YmRkbF90YWJsZSA9IGZhbHNlOwogCiAJCS8qCiAJCSAqIFR1cGxlIHNsb3RzIGNsZWFu dXBzLiAoV2lsbCBiZSByZWJ1aWx0IGxhdGVyIGlmIG5lZWRlZCkuCkBAIC0yMTUzLDYgKzIyMjcs OCBAQCBnZXRfcmVsX3N5bmNfZW50cnkoUEdPdXRwdXREYXRhICpkYXRhLCBSZWxhdGlvbiByZWxh dGlvbikKIAkJCQllbnRyeS0+cHViYWN0aW9ucy5wdWJ1cGRhdGUgfD0gcHViLT5wdWJhY3Rpb25z LnB1YnVwZGF0ZTsKIAkJCQllbnRyeS0+cHViYWN0aW9ucy5wdWJkZWxldGUgfD0gcHViLT5wdWJh Y3Rpb25zLnB1YmRlbGV0ZTsKIAkJCQllbnRyeS0+cHViYWN0aW9ucy5wdWJ0cnVuY2F0ZSB8PSBw dWItPnB1YmFjdGlvbnMucHVidHJ1bmNhdGU7CisJCQkJZW50cnktPnB1YmFjdGlvbnMucHViZGRs X2RhdGFiYXNlIHw9IHB1Yi0+cHViYWN0aW9ucy5wdWJkZGxfZGF0YWJhc2U7CisJCQkJZW50cnkt PnB1YmFjdGlvbnMucHViZGRsX3RhYmxlIHw9IHB1Yi0+cHViYWN0aW9ucy5wdWJkZGxfdGFibGU7 CiAKIAkJCQkvKgogCQkJCSAqIFdlIHdhbnQgdG8gcHVibGlzaCB0aGUgY2hhbmdlcyBhcyB0aGUg dG9wLW1vc3QgYW5jZXN0b3IKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5j IGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKaW5kZXggODQ5YjZkNGY3YS4uZmZhMGRmNzcy OCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKKysrIGIvc3JjL2JhY2tl bmQvdGNvcC91dGlsaXR5LmMKQEAgLTEyNjgsMTMgKzEyNjgsNiBAQCBQcm9jZXNzVXRpbGl0eVNs b3coUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQlpZiAoaXNDb21wbGV0ZVF1ZXJ5KQogCQkJRXZlbnRU cmlnZ2VyRERMQ29tbWFuZFN0YXJ0KHBhcnNldHJlZSk7CiAKLQkJLyoKLQkJICogQ29uc2lkZXIg bG9nZ2luZyB0aGUgRERMIGNvbW1hbmQgaWYgbG9naWNhbCBsb2dnaW5nIGlzIGVuYWJsZWQgYW5k IHRoaXMgaXMKLQkJICogYSB0b3AgbGV2ZWwgcXVlcnkuCi0JCSAqLwotCQlpZiAoWExvZ0xvZ2lj YWxJbmZvQWN0aXZlKCkgJiYgaXNUb3BMZXZlbCkKLQkJCUxvZ0xvZ2ljYWxERExDb21tYW5kKHBh cnNldHJlZSwgcXVlcnlTdHJpbmcpOwotCiAJCXN3aXRjaCAobm9kZVRhZyhwYXJzZXRyZWUpKQog CQl7CiAJCQkJLyoKQEAgLTIxMDQsNiArMjA5NywxMyBAQCBQcm9jZXNzVXRpbGl0eVNsb3coUGFy c2VTdGF0ZSAqcHN0YXRlLAogCiAJCWlmIChpc0NvbXBsZXRlUXVlcnkpCiAJCXsKKwkJCS8qCisJ CQkgKiBDb25zaWRlciBsb2dnaW5nIHRoZSBEREwgY29tbWFuZCBpZiBsb2dpY2FsIGxvZ2dpbmcg aXMgZW5hYmxlZCBhbmQgdGhpcyBpcworCQkJICogYSBjb21wbGV0ZSB0b3AgbGV2ZWwgcXVlcnku CisJCQkgKi8KKwkJCWlmIChYTG9nTG9naWNhbEluZm9BY3RpdmUoKSAmJiBpc1RvcExldmVsKQor CQkJCUxvZ0xvZ2ljYWxERExDb21tYW5kKHBhcnNldHJlZSwgcXVlcnlTdHJpbmcpOworCiAJCQlF dmVudFRyaWdnZXJTUUxEcm9wKHBhcnNldHJlZSk7CiAJCQlFdmVudFRyaWdnZXJERExDb21tYW5k RW5kKHBhcnNldHJlZSk7CiAJCX0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9u L2xvZ2ljYWxwcm90by5oIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vbG9naWNhbHByb3RvLmgK aW5kZXggYTc3MWFiOGZmMy4uMjhmZjU2MmQ2MiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcmVw bGljYXRpb24vbG9naWNhbHByb3RvLmgKKysrIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vbG9n aWNhbHByb3RvLmgKQEAgLTYxLDYgKzYxLDcgQEAgdHlwZWRlZiBlbnVtIExvZ2ljYWxSZXBNc2dU eXBlCiAJTE9HSUNBTF9SRVBfTVNHX1JFTEFUSU9OID0gJ1InLAogCUxPR0lDQUxfUkVQX01TR19U WVBFID0gJ1knLAogCUxPR0lDQUxfUkVQX01TR19NRVNTQUdFID0gJ00nLAorCUxPR0lDQUxfUkVQ X01TR19ERExNRVNTQUdFID0gJ0wnLAogCUxPR0lDQUxfUkVQX01TR19CRUdJTl9QUkVQQVJFID0g J2InLAogCUxPR0lDQUxfUkVQX01TR19QUkVQQVJFID0gJ1AnLAogCUxPR0lDQUxfUkVQX01TR19D T01NSVRfUFJFUEFSRUQgPSAnSycsCkBAIC0yMjksNyArMjMwLDE0IEBAIGV4dGVybiB2b2lkIGxv Z2ljYWxyZXBfd3JpdGVfdHJ1bmNhdGUoU3RyaW5nSW5mbyBvdXQsIFRyYW5zYWN0aW9uSWQgeGlk LAogZXh0ZXJuIExpc3QgKmxvZ2ljYWxyZXBfcmVhZF90cnVuY2F0ZShTdHJpbmdJbmZvIGluLAog CQkJCQkJCQkJICBib29sICpjYXNjYWRlLCBib29sICpyZXN0YXJ0X3NlcXMpOwogZXh0ZXJuIHZv aWQgbG9naWNhbHJlcF93cml0ZV9tZXNzYWdlKFN0cmluZ0luZm8gb3V0LCBUcmFuc2FjdGlvbklk IHhpZCwgWExvZ1JlY1B0ciBsc24sCi0JCQkJCQkJCQkgYm9vbCB0cmFuc2FjdGlvbmFsLCBjb25z dCBjaGFyICpwcmVmaXgsIFNpemUgc3osIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOworCQkJCQkJCQkJ IGJvb2wgdHJhbnNhY3Rpb25hbCwgY29uc3QgY2hhciAqcHJlZml4LAorCQkJCQkJCQkJIFNpemUg c3osIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOworZXh0ZXJuIHZvaWQgbG9naWNhbHJlcF93cml0ZV9k ZGxtZXNzYWdlKFN0cmluZ0luZm8gb3V0LCBUcmFuc2FjdGlvbklkIHhpZCwgWExvZ1JlY1B0ciBs c24sCisJCQkJCQkJCQkJYm9vbCB0cmFuc2FjdGlvbmFsLCBjb25zdCBjaGFyICpwcmVmaXgsIGNv bnN0IGNoYXIgKnJvbGUsCisJCQkJCQkJCQkJY29uc3QgY2hhciAqc2VhcmNoX3BhdGgsIFNpemUg c3osIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOworZXh0ZXJuIGNvbnN0IGNoYXIgKmxvZ2ljYWxyZXBf cmVhZF9kZGxtZXNzYWdlKFN0cmluZ0luZm8gaW4sIFhMb2dSZWNQdHIgKmxzbiwgY29uc3QgY2hh ciAqKnByZWZpeCwKKwkJCQkJCQkJCQkJICBjb25zdCBjaGFyICoqcm9sZSwgY29uc3QgY2hhciAq KnNlYXJjaF9wYXRoLAorCQkJCQkJCQkJCQkgIGJvb2wgKnRyYW5zYWN0aW9uYWwsIFNpemUgKnN6 KTsKIGV4dGVybiB2b2lkIGxvZ2ljYWxyZXBfd3JpdGVfcmVsKFN0cmluZ0luZm8gb3V0LCBUcmFu c2FjdGlvbklkIHhpZCwKIAkJCQkJCQkJIFJlbGF0aW9uIHJlbCwgQml0bWFwc2V0ICpjb2x1bW5z KTsKIGV4dGVybiBMb2dpY2FsUmVwUmVsYXRpb24gKmxvZ2ljYWxyZXBfcmVhZF9yZWwoU3RyaW5n SW5mbyBpbik7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMDRfc3luYy5w bCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAwNF9zeW5jLnBsCmluZGV4IGNmNjFmYzFlMGYu LjY5OGM1MTE0ZTYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAwNF9zeW5j LnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAwNF9zeW5jLnBsCkBAIC0zMyw3ICsz Myw3IEBAICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogIyBTZXR1cCBs b2dpY2FsIHJlcGxpY2F0aW9uCiBteSAkcHVibGlzaGVyX2Nvbm5zdHIgPSAkbm9kZV9wdWJsaXNo ZXItPmNvbm5zdHIgLiAnIGRibmFtZT1wb3N0Z3Jlcyc7CiAkbm9kZV9wdWJsaXNoZXItPnNhZmVf cHNxbCgncG9zdGdyZXMnLAotCSJDUkVBVEUgUFVCTElDQVRJT04gdGFwX3B1YiBGT1IgQUxMIFRB QkxFUyIpOworCSJDUkVBVEUgUFVCTElDQVRJT04gdGFwX3B1YiBGT1IgQUxMIFRBQkxFUyBXSVRI IChkZGwgPSAnJykiKTsKIAogJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3Jlcycs CiAJIkNSRUFURSBTVUJTQ1JJUFRJT04gdGFwX3N1YiBDT05ORUNUSU9OICckcHVibGlzaGVyX2Nv bm5zdHInIFBVQkxJQ0FUSU9OIHRhcF9wdWIiCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3Jp cHRpb24vdC8wMDZfcmV3cml0ZS5wbCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAwNl9yZXdy aXRlLnBsCmluZGV4IGM5MjRmZjM1ZjcuLjZjOWIwNTVlYjAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3N1YnNjcmlwdGlvbi90LzAwNl9yZXdyaXRlLnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlv bi90LzAwNl9yZXdyaXRlLnBsCkBAIC0yMyw3ICsyMyw3IEBAICRub2RlX3N1YnNjcmliZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLCAkZGRsKTsKIG15ICRwdWJsaXNoZXJfY29ubnN0ciA9ICRub2Rl X3B1Ymxpc2hlci0+Y29ubnN0ciAuICcgZGJuYW1lPXBvc3RncmVzJzsKIAogJG5vZGVfcHVibGlz aGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKLQkiQ1JFQVRFIFBVQkxJQ0FUSU9OIG15cHViIEZP UiBBTEwgVEFCTEVTOyIpOworCSJDUkVBVEUgUFVCTElDQVRJT04gbXlwdWIgRk9SIEFMTCBUQUJM RVMgV0lUSCAoZGRsID0gJycpOyIpOwogJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0 Z3JlcycsCiAJIkNSRUFURSBTVUJTQ1JJUFRJT04gbXlzdWIgQ09OTkVDVElPTiAnJHB1Ymxpc2hl cl9jb25uc3RyJyBQVUJMSUNBVElPTiBteXB1YjsiCiApOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv c3Vic2NyaXB0aW9uL3QvMDA4X2RpZmZfc2NoZW1hLnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9u L3QvMDA4X2RpZmZfc2NoZW1hLnBsCmluZGV4IDY3YjQwMjZhZmEuLjI5MDJlNmZjMzQgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAwOF9kaWZmX3NjaGVtYS5wbAorKysgYi9z cmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMDhfZGlmZl9zY2hlbWEucGwKQEAgLTMyLDcgKzMyLDcg QEAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAjIFNldHVwIGxvZ2lj YWwgcmVwbGljYXRpb24KIG15ICRwdWJsaXNoZXJfY29ubnN0ciA9ICRub2RlX3B1Ymxpc2hlci0+ Y29ubnN0ciAuICcgZGJuYW1lPXBvc3RncmVzJzsKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsCi0JIkNSRUFURSBQVUJMSUNBVElPTiB0YXBfcHViIEZPUiBBTEwgVEFCTEVT Iik7CisJIkNSRUFURSBQVUJMSUNBVElPTiB0YXBfcHViIEZPUiBBTEwgVEFCTEVTIFdJVEggKGRk bCA9ICcnKSIpOwogCiAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAki Q1JFQVRFIFNVQlNDUklQVElPTiB0YXBfc3ViIENPTk5FQ1RJT04gJyRwdWJsaXNoZXJfY29ubnN0 cicgUFVCTElDQVRJT04gdGFwX3B1YiIKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3N1YnNjcmlwdGlv bi90LzAwOV9tYXR2aWV3cy5wbCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAwOV9tYXR2aWV3 cy5wbAppbmRleCAxY2U2OTZkNGE0Li42YzU4Njg3N2ExIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9z dWJzY3JpcHRpb24vdC8wMDlfbWF0dmlld3MucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9u L3QvMDA5X21hdHZpZXdzLnBsCkBAIC0xOSw3ICsxOSw3IEBAICRub2RlX3N1YnNjcmliZXItPnN0 YXJ0OwogbXkgJHB1Ymxpc2hlcl9jb25uc3RyID0gJG5vZGVfcHVibGlzaGVyLT5jb25uc3RyIC4g JyBkYm5hbWU9cG9zdGdyZXMnOwogCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdy ZXMnLAotCSJDUkVBVEUgUFVCTElDQVRJT04gbXlwdWIgRk9SIEFMTCBUQUJMRVM7Iik7CisJIkNS RUFURSBQVUJMSUNBVElPTiBteXB1YiBGT1IgQUxMIFRBQkxFUyBXSVRIIChkZGwgPSAnJyk7Iik7 CiAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiQ1JFQVRFIFNVQlND UklQVElPTiBteXN1YiBDT05ORUNUSU9OICckcHVibGlzaGVyX2Nvbm5zdHInIFBVQkxJQ0FUSU9O IG15cHViOyIKICk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMTJfY29s bGF0aW9uLnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDEyX2NvbGxhdGlvbi5wbAppbmRl eCAyMTgyZjc5NDhlLi5lMWI1MDUwNjYzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9zdWJzY3JpcHRp b24vdC8wMTJfY29sbGF0aW9uLnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAxMl9j b2xsYXRpb24ucGwKQEAgLTc2LDcgKzc2LDcgQEAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsCiAjIHNldCB1cCBwdWJsaWNhdGlvbiwgc3Vic2NyaXB0aW9uCiAKICRub2Rl X3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCi0JcXtDUkVBVEUgUFVCTElDQVRJT04g cHViMSBGT1IgQUxMIFRBQkxFU30pOworCXF7Q1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjEgRk9SIEFM TCBUQUJMRVMgV0lUSCAoZGRsID0gJycpfSk7CiAKICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNx bCgncG9zdGdyZXMnLAogCXFxe0NSRUFURSBTVUJTQ1JJUFRJT04gc3ViMSBDT05ORUNUSU9OICck cHVibGlzaGVyX2Nvbm5zdHInIFBVQkxJQ0FUSU9OIHB1YjEgV0lUSCAoY29weV9kYXRhID0gZmFs c2UpfQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDEzX3BhcnRpdGlvbi5w bCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAxM19wYXJ0aXRpb24ucGwKaW5kZXggZTdmNGE5 NGYxOS4uMDA3YTE1ZGZkYyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDEz X3BhcnRpdGlvbi5wbAorKysgYi9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMTNfcGFydGl0aW9u LnBsCkBAIC0yNSw5ICsyNSw5IEBAICRub2RlX3N1YnNjcmliZXIyLT5zdGFydDsKIG15ICRwdWJs aXNoZXJfY29ubnN0ciA9ICRub2RlX3B1Ymxpc2hlci0+Y29ubnN0ciAuICcgZGJuYW1lPXBvc3Rn cmVzJzsKIAogIyBwdWJsaXNoZXIKLSRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsICJDUkVBVEUgUFVCTElDQVRJT04gcHViMSIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3Bz cWwoJ3Bvc3RncmVzJywgIkNSRUFURSBQVUJMSUNBVElPTiBwdWIxIFdJVEggKGRkbCA9ICcnKSIp OwogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKLQkiQ1JFQVRFIFBVQkxJ Q0FUSU9OIHB1Yl9hbGwgRk9SIEFMTCBUQUJMRVMiKTsKKwkiQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1 Yl9hbGwgRk9SIEFMTCBUQUJMRVMgV0lUSCAoZGRsID0gJycpIik7CiAkbm9kZV9wdWJsaXNoZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJDUkVBVEUgVEFCTEUgdGFiMSAoYSBpbnQgUFJJTUFS WSBLRVksIGIgdGV4dCkgUEFSVElUSU9OIEJZIExJU1QgKGEpIik7CiAkbm9kZV9wdWJsaXNoZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLApAQCAtNDI1LDEyICs0MjUsMTIgQEAgJG5vZGVfcHVibGlz aGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKICMgYW5kIGNoaWxkIHRhYmxlcyBhcmUgcHJlc2Vu dCBidXQgY2hhbmdlcyB3aWxsIGJlIHJlcGxpY2F0ZWQgdmlhIHRoZSBwYXJlbnQncwogIyBpZGVu dGl0eSBhbmQgb25seSBvbmNlLgogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywKLQkiQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1Yl92aWFyb290IEZPUiBUQUJMRSB0YWIyLCB0YWIy XzEsIHRhYjNfMSBXSVRIIChwdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdCA9IHRydWUpIgorCSJD UkVBVEUgUFVCTElDQVRJT04gcHViX3ZpYXJvb3QgRk9SIFRBQkxFIHRhYjIsIHRhYjJfMSwgdGFi M18xIFdJVEggKHB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290ID0gdHJ1ZSwgZGRsID0gJycpIgog KTsKIAogIyBmb3IgdGFiNCwgd2UgcHVibGlzaCBjaGFuZ2VzIHRocm91Z2ggdGhlICJtaWRkbGUi IHBhcnRpdGlvbmVkIHRhYmxlCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMn LAotCSJDUkVBVEUgUFVCTElDQVRJT04gcHViX2xvd2VyX2xldmVsIEZPUiBUQUJMRSB0YWI0XzEg V0lUSCAocHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QgPSB0cnVlKSIKKwkiQ1JFQVRFIFBVQkxJ Q0FUSU9OIHB1Yl9sb3dlcl9sZXZlbCBGT1IgVEFCTEUgdGFiNF8xIFdJVEggKHB1Ymxpc2hfdmlh X3BhcnRpdGlvbl9yb290ID0gdHJ1ZSwgZGRsID0gJycpIgogKTsKIAogIyBwcmVwYXJlIGRhdGEg Zm9yIHRoZSBpbml0aWFsIHN5bmMKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90 LzAzMF9yZXBfZGRscy5wbCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBfZGRscy5w bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5jODhjNGVhMWMwCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9kZGxzLnBsCkBA IC0wLDAgKzEsMjM3IEBACisKKyMgQ29weXJpZ2h0IChjKSAyMDIyLCBQb3N0Z3JlU1FMIEdsb2Jh bCBEZXZlbG9wbWVudCBHcm91cAorCisjIFJlZ3Jlc3Npb24gdGVzdHMgZm9yIGxvZ2ljYWwgcmVw bGljYXRpb24gb2YgRERMcwordXNlIHN0cmljdDsKK3VzZSB3YXJuaW5nczsKK3VzZSBQb3N0Z3Jl U1FMOjpUZXN0OjpDbHVzdGVyOwordXNlIFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOwordXNlIFRl c3Q6Ok1vcmU7CisKK215ICRub2RlX3B1Ymxpc2hlciA9IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0 ZXItPm5ldygncHVibGlzaGVyJyk7Ciskbm9kZV9wdWJsaXNoZXItPmluaXQoYWxsb3dzX3N0cmVh bWluZyA9PiAnbG9naWNhbCcpOworJG5vZGVfcHVibGlzaGVyLT5hcHBlbmRfY29uZigncG9zdGdy ZXNxbC5jb25mJywgJ2F1dG92YWN1dW0gPSBvZmYnKTsKKyRub2RlX3B1Ymxpc2hlci0+c3RhcnQ7 CisKK215ICRub2RlX3N1YnNjcmliZXIgPSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXco J3N1YnNjcmliZXInKTsKKyRub2RlX3N1YnNjcmliZXItPmluaXQoYWxsb3dzX3N0cmVhbWluZyA9 PiAnbG9naWNhbCcpOworJG5vZGVfc3Vic2NyaWJlci0+YXBwZW5kX2NvbmYoJ3Bvc3RncmVzcWwu Y29uZicsICdhdXRvdmFjdXVtID0gb2ZmJyk7Ciskbm9kZV9zdWJzY3JpYmVyLT5zdGFydDsKKwor bXkgJG5vZGVfc3Vic2NyaWJlcjIgPSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ3N1 YnNjcmliZXIyJyk7Ciskbm9kZV9zdWJzY3JpYmVyMi0+aW5pdChhbGxvd3Nfc3RyZWFtaW5nID0+ ICdsb2dpY2FsJyk7Ciskbm9kZV9zdWJzY3JpYmVyMi0+YXBwZW5kX2NvbmYoJ3Bvc3RncmVzcWwu Y29uZicsICdhdXRvdmFjdXVtID0gb2ZmJyk7Ciskbm9kZV9zdWJzY3JpYmVyMi0+c3RhcnQ7CisK K215ICRkZGwgPSAiQ1JFQVRFIFRBQkxFIHRlc3RfcmVwKGlkIGludCBwcmltYXJ5IGtleSwgbmFt ZSB2YXJjaGFyKTsiOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJGRk bCk7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiSU5TRVJUIElOVE8g dGVzdF9yZXAgVkFMVUVTICgxLCAnZGF0YTEnKTsiKTsKKyRub2RlX3N1YnNjcmliZXItPnNhZmVf cHNxbCgncG9zdGdyZXMnLCAkZGRsKTsKKyRub2RlX3N1YnNjcmliZXIyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywgJGRkbCk7CisKK215ICRwdWJsaXNoZXJfY29ubnN0ciA9ICRub2RlX3B1Ymxpc2hl ci0+Y29ubnN0ciAuICcgZGJuYW1lPXBvc3RncmVzJzsKKworIyBteXB1YiBoYXMgcHViZGRsX2Rh dGFiYXNlIG9uCiskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJDUkVB VEUgUFVCTElDQVRJT04gbXlwdWIgRk9SIEFMTCBUQUJMRVM7Iik7Ciskbm9kZV9zdWJzY3JpYmVy LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRFIFNVQlNDUklQVElPTiBteXN1YiBDT05O RUNUSU9OICckcHVibGlzaGVyX2Nvbm5zdHInIFBVQkxJQ0FUSU9OIG15cHViOyIKKyk7CisjIG15 cHViMiBoYXMgcHViZGRsX2RhdGFiYXNlIG9mZgorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywKKwkiQ1JFQVRFIFBVQkxJQ0FUSU9OIG15cHViMiBGT1IgQUxMIFRBQkxFUyB3 aXRoIChkZGwgPSAnJyk7Iik7Ciskbm9kZV9zdWJzY3JpYmVyMi0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsCisJIkNSRUFURSBTVUJTQ1JJUFRJT04gbXlzdWIyIENPTk5FQ1RJT04gJyRwdWJsaXNoZXJf Y29ubnN0cicgUFVCTElDQVRJT04gbXlwdWIyOyIKKyk7CisKKyRub2RlX3B1Ymxpc2hlci0+d2Fp dF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKKworIyBUZXN0IHNpbXBsZSBDUkVBVEUgVEFCTEUgY29t bWFuZCBpcyByZXBsaWNhdGVkIHRvIHN1YnNjcmliZXIKKyMgVGVzdCBzbWFlIHNpbXBsZSBDUkVB VEUgVEFCTEUgY29tbWFuZCBpcyBub3QgcmVwbGljYXRlZCB0byBzdWJzY3JpYmVyMiAoZGRsIG9m ZikKKyMgVGVzdCBBTFRFUiBUQUJMRSBjb21tYW5kIGlzIHJlcGxpY2F0ZWQgb24gdGFibGUgdGVz dF9yZXAKKyMgVGVzdCBDUkVBVEUgSU5ERVggaXMgcmVwbGljYXRlZCB0byBzdWJzY3JpYmVyCisj IFRlc3QgQ1JFQVRFIEZVTkNUSU9OIGNvbW1hbmQgaXMgcmVwbGljYXRlZCB0byBzdWJzY3JpYmVy Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIFRBQkxFIHQx IChhIGludCwgYiB2YXJjaGFyKTsiKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0 Z3JlcycsICJBTFRFUiBUQUJMRSB0ZXN0X3JlcCBBREQgYzMgaW50OyIpOworJG5vZGVfcHVibGlz aGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIklOU0VSVCBJTlRPIHRlc3RfcmVwIFZBTFVFUyAo MiwgJ2RhdGEyJywgMik7Iik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMn LCAiQ1JFQVRFIElOREVYIG5hbWVpbmRleCBvbiB0ZXN0X3JlcCAobmFtZSkiKTsKKyRub2RlX3B1 Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsIHFxe0NSRUFURSBPUiBSRVBMQUNFIEZVTkNU SU9OIHRvdGFsUmVjb3JkcygpCitSRVRVUk5TIGludGVnZXIgQVMgXCR0b3RhbFwkCitkZWNsYXJl CisJdG90YWwgaW50ZWdlcjsKK0JFR0lOCisgICBTRUxFQ1QgY291bnQoKikgaW50byB0b3RhbCBG Uk9NIHRlc3RfcmVwOworICAgUkVUVVJOIHRvdGFsOworRU5EOworXCR0b3RhbFwkIExBTkdVQUdF IHBscGdzcWw7fSk7CisKKyRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWIn KTsKKworbXkgJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMn LCAiU0VMRUNUIGNvdW50KCopIGZyb20gdDEiKTsKK2lzKCRyZXN1bHQsIHFxKDApLCAnQ1JFQVRF IG9mIHQxIHJlcGxpY2F0ZWQgdG8gc3Vic2NyaWJlcicpOworJHJlc3VsdCA9ICRub2RlX3N1YnNj cmliZXIyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBmcm9tIHBnX3Rh YmxlcyB3aGVyZSB0YWJsZW5hbWUgPSAndDEnOyIpOworaXMoJHJlc3VsdCwgcXEoMCksICdDUkVB VEUgb2YgdDEgaXMgbm90IHJlcGxpY2F0ZWQgdG8gc3Vic2NyaWJlcjInKTsKKyRyZXN1bHQgPSAk bm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBG Uk9NIHRlc3RfcmVwIFdIRVJFIGMzID0yOyIpOworaXMoJHJlc3VsdCwgcXEoMSksICdBTFRFUiB0 ZXN0X3JlcCBBREQgcmVwbGljYXRlZCcpOworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIEZST00gcGdfY2xhc3Mgd2hlcmUg cmVsbmFtZSA9ICduYW1laW5kZXgnIik7CitpcygkcmVzdWx0LCBxcSgxKSwgJ0NSRUFURSBJTkRF WCBuYW1laW5kZXggcmVwbGljYXRlZCcpOworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIHRvdGFsUmVjb3JkcygpOyIpOworaXMoJHJlc3Vs dCwgcXEoMiksICdDUkVBVEUgb2YgZnVuY3Rpb24gdG90YWxSZWNvcmRzIHJlcGxpY2F0ZWQgdG8g c3Vic2NyaWJlcicpOworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXIyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBGUk9NIHBnX3Byb2Mgd2hlcmUgcHJvbmFtZSA9ICd0 b3RhbHJlY29yZHMnOyIpOworaXMoJHJlc3VsdCwgcXEoMCksICdDUkVBVEUgRlVOQ1RJT04gdG90 YWxyZWNvcmRzIGlzIG5vdCByZXBsaWNhdGVkIHRvIHN1YnNjcmliZXIyJyk7CisKKyMgVGVzdCBB TFRFUiBUQUJMRSBEUk9QCisjIFRlc3QgRFJPUCBJTkRFWAorIyBUZXN0IERST1AgRlVOQ1RJT04K KyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJBTFRFUiBUQUJMRSB0ZXN0 X3JlcCBEUk9QIGMzOyIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywg IkRFTEVURSBGUk9NIHRlc3RfcmVwIHdoZXJlIGlkID0gMjsiKTsKKyRub2RlX3B1Ymxpc2hlci0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJEUk9QIElOREVYIG5hbWVpbmRleDsiKTsKKyRub2RlX3B1 Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJEUk9QIEZVTkNUSU9OIHRvdGFsUmVjb3Jk czsiKTsKKworJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCisk cmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1Qg Y291bnQoKikgZnJvbSB0ZXN0X3JlcDsiKTsKK2lzKCRyZXN1bHQsIHFxKDEpLCAnQUxURVIgdGVz dF9yZXAgRFJPUCByZXBsaWNhdGVkJyk7CiskcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgRlJPTSBwZ19jbGFzcyB3aGVyZSBy ZWxuYW1lID0gJ25hbWVpbmRleCciKTsKK2lzKCRyZXN1bHQsIHFxKDApLCAnRFJPUCBJTkRFWCBu YW1laW5kZXggcmVwbGljYXRlZCcpOworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVf cHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIEZST00gcGdfcHJvYyB3aGVyZSBwcm9u YW1lID0gJ3RvdGFscmVjb3Jkcyc7Iik7CitpcygkcmVzdWx0LCBxcSgwKSwgJ0RST1AgRlVOQ1RJ T04gdG90YWxyZWNvcmRzIHJlcGxpY2F0ZWQnKTsKKworCisjIFRPRE8gZmlndXJlIG91dCBob3cg dG8gc2V0IE9OX0VSUk9SX1NUT1AgPSAwIGluIHRoaXMgdGVzdAorIyBUZXN0IGZhaWxlZCBDUkVB VEUvQUxURVIgVEFCTEUgb24gcHVibGlzaGVyIGRvZXNuJ3QgYnJlYWsgcmVwbGljYXRpb24KKyMg VGFibGUgdDEgYWxyZWFkeSBleGl0cyBzbyBleHBlY3QgdGhlIGNvbW1hbmQgdG8gZmFpbAorIyRu b2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDUkVBVEUgVEFCTEUgdDEgKGEg aW50LCBiIHZhcmNoYXIpOyIpOworIyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsICJBTFRFUiBUQUJMRSB0ZXN0X3JlcCBEUk9QIGMzOyIpOworIyRub2RlX3B1Ymxpc2hlci0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJJTlNFUlQgSU5UTyB0ZXN0X3JlcCBWQUxVRVMgKDEwMywg J2RhdGExMDMnLCAxMDEzKTsiKTsKKworIyRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1 cCgnbXlzdWInKTsKKyMgVmVyaWZ5IHJlcGxpY2F0aW9uIHN0aWxsIHdvcmtzCisjJHJlc3VsdCA9 ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCop IGZyb20gdGVzdF9yZXA7Iik7CisjaXMoJHJlc3VsdCwgcXEoMSksICdERUxFVEUgZnJvbSB0ZXN0 X3JlcCByZXBsaWNhdGVkJyk7CisKKyMgVGVzdCBERExzIGluc2lkZSB0eG4gYmxvY2sKKyRub2Rl X3B1Ymxpc2hlci0+c2FmZV9wc3FsKAorCSdwb3N0Z3JlcycsIHF7CitCRUdJTjsKK0NSRUFURSBU QUJMRSB0MiAoYSBpbnQsIGIgdmFyY2hhcik7CitBTFRFUiBUQUJMRSB0ZXN0X3JlcCBBREQgYzMg aW50OworSU5TRVJUIElOVE8gdGVzdF9yZXAgVkFMVUVTICgzLCAnZGF0YTMnLCAzKTsKK0NPTU1J VDt9KTsKKworJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCisk cmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1Qg Y291bnQoKikgZnJvbSB0MjsiKTsKK2lzKCRyZXN1bHQsIHFxKDApLCAnQ1JFQVRFIHQyIHJlcGxp Y2F0ZWQnKTsKKyRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywgIlNFTEVDVCBjb3VudCgqKSBGUk9NIHRlc3RfcmVwOyIpOworaXMoJHJlc3VsdCwgcXEoMiks ICdBTFRFUiB0ZXN0X3JlcCBBREQgcmVwbGljYXRlZCcpOworCisjIFRlc3QgdG9nZ2xpbmcgcHVi ZGRsX2RhdGFiYXNlIG9wdGlvbiBvZmYKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0 Z3JlcycsICJBTFRFUiBQVUJMSUNBVElPTiBteXB1YiBzZXQgKGRkbCA9ICcnKTsiKTsKKyRyZXN1 bHQgPSAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIHB1YmRk bF9kYXRhYmFzZSwgcHViZGRsX3RhYmxlIGZyb20gcGdfcHVibGljYXRpb24gd2hlcmUgcHVibmFt ZSA9ICdteXB1Yic7Iik7CitpcygkcmVzdWx0LCBxcShmfGYpLCAncHViZGRsX2RhdGFiYXNlIHR1 cm5lZCBvZmYgb24gbXlwdWInKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsICJDUkVBVEUgVEFCTEUgdDMgKGEgaW50LCBiIHZhcmNoYXIpOyIpOworCiskbm9kZV9wdWJs aXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3ViJyk7CisKKyRyZXN1bHQgPSAkbm9kZV9zdWJz Y3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBmcm9tIHBnX3Rh YmxlcyB3aGVyZSB0YWJsZW5hbWUgPSAndDMnOyIpOworaXMoJHJlc3VsdCwgcXEoMCksICdDUkVB VEUgdDMgaXMgbm90IHJlcGxpY2F0ZWQnKTsKKworIyBUZXN0IHRvZ2dsaW5nIHB1YmRkbF9kYXRh YmFzZSBvcHRpb24gb24KKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJB TFRFUiBQVUJMSUNBVElPTiBteXB1YiBzZXQgKGRkbCA9ICdkYXRhYmFzZScpOyIpOworJHJlc3Vs dCA9ICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgcHViZGRs X2RhdGFiYXNlLCBwdWJkZGxfdGFibGUgZnJvbSBwZ19wdWJsaWNhdGlvbiB3aGVyZSBwdWJuYW1l ID0gJ215cHViJzsiKTsKK2lzKCRyZXN1bHQsIHFxKHR8dCksICdwdWJkZGxfZGF0YWJhc2UgdHVy bmVkIG9uIG9uIG15cHViJyk7CisKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsICJDUkVBVEUgVEFCTEUgdDQgKGEgaW50LCBiIHZhcmNoYXIpOyIpOworCiskbm9kZV9wdWJs aXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3ViJyk7CisKKyRyZXN1bHQgPSAkbm9kZV9zdWJz Y3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBmcm9tIHBnX3Rh YmxlcyB3aGVyZSB0YWJsZW5hbWUgPSAndDQnOyIpOworaXMoJHJlc3VsdCwgcXEoMSksICdDUkVB VEUgdDQgaXMgcmVwbGljYXRlZCcpOworCisjIFRlc3QgRE1MIGNoYW5nZXMgb24gdGhlIG5ldyB0 YWJsZSB0NCBhcmUgcmVwbGljYXRlZAorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywgIklOU0VSVCBJTlRPIHQ0IHZhbHVlcyAoMSwgJ2EnKSIpOworJG5vZGVfcHVibGlzaGVy LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIklOU0VSVCBJTlRPIHQ0IHZhbHVlcyAoMiwgJ2InKSIp OworCiskbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3ViJyk7CisKKyRyZXN1 bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3Vu dCgqKSBmcm9tIHQ0OyIpOworaXMoJHJlc3VsdCwgcXEoMiksICdETUwgQ2hhbmdlcyB0byB0NCBh cmUgcmVwbGljYXRlZCcpOworCisjIEEgc29tZXdoYXQgY29tcGxpY2F0ZWQgdGVzdCBpbiBwbHBn c3FsIGJsb2NrIHdpdGggdHJpZ2dlcgorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoCisJJ3Bv c3RncmVzJywgcXsKK0JFR0lOOworQ1JFQVRFIFRBQkxFIGZvbyAoYSBpbnQpOworQ1JFQVRFIElO REVYIGZvb19pZHggT04gZm9vIChhKTsKK0FMVEVSIFRBQkxFIGZvbyBBREQgQ09MVU1OIGIgdGlt ZXN0YW1wdHo7CitDUkVBVEUgRlVOQ1RJT04gZm9vX3RzKCkKK1JFVFVSTlMgdHJpZ2dlciBBUyAk JAorQkVHSU4KK05FVy5iIDo9IGN1cnJlbnRfdGltZXN0YW1wOworUkVUVVJOIE5FVzsKK0VORDsK KyQkCitMQU5HVUFHRSBwbHBnc3FsOworQ1JFQVRFIFRSSUdHRVIgZm9vX3RzIEJFRk9SRSBJTlNF UlQgT1IgVVBEQVRFIE9OIGZvbworRk9SIEVBQ0ggUk9XIEVYRUNVVEUgRlVOQ1RJT04gZm9vX3Rz KCk7CitJTlNFUlQgSU5UTyBmb28gVkFMVUVTICgxKTsKK0NPTU1JVDt9KTsKKyRyZXN1bHQgPSAk bm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGIgZnJvbSBmb28g d2hlcmUgYSA9IDE7Iik7CisKKyRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlz dWInKTsKKworbXkgJHJlc3VsdF9zdWIgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywgIlNFTEVDVCBiIGZyb20gZm9vIHdoZXJlIGEgPSAxOyIpOworaXMoJHJlc3VsdCwg cXEoJHJlc3VsdF9zdWIpLCAndGltZXN0YW1wIG9mIGluc2VydCBtYXRjaGVzJyk7CisKKyMgVGVz dCBDUkVBVEUgU0NIRU1BIHN0bXQgaXMgcmVwbGljYXRlZAorJG5vZGVfcHVibGlzaGVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBTQ0hFTUEgczEiKTsKKyRub2RlX3B1Ymxpc2hlci0+ d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKKworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIEZST00gcGdfY2F0YWxvZy5w Z19uYW1lc3BhY2UgV0hFUkUgbnNwbmFtZSA9ICdzMSc7Iik7CitpcygkcmVzdWx0LCBxcSgxKSwg J0NSRUFURSBTQ0hFTUEgczEgaXMgcmVwbGljYXRlZCcpOworCisjIFRlc3QgQ1JFQVRFIFRBQkxF IGluIG5ldyBzY2hlbWEgczEgZm9sbG93ZWQgYnkgaW5zZXJ0Ciskbm9kZV9wdWJsaXNoZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIFRBQkxFIHMxLnQxIChhIGludCwgYiB2YXJjaGFy KTsiKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJJTlNFUlQgSU5U TyBzMS50MSBWQUxVRVMgKDEsICdhJyk7Iik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgn cG9zdGdyZXMnLCAiSU5TRVJUIElOVE8gczEudDEgVkFMVUVTICgyLCAnYicpOyIpOworCiskbm9k ZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3ViJyk7CisKKyRyZXN1bHQgPSAkbm9k ZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBGUk9N IHMxLnQxOyIpOworaXMoJHJlc3VsdCwgcXEoMiksICdDUkVBVEUgVEFCTEUgczEudDEgaXMgcmVw bGljYXRlZCcpOworCisjIFRlc3QgcmVwbGljYXRpb24gd29ya3MgYXMgZXhwZWN0ZWQgd2l0aCBt aXNtYXRjaGVkIHNlYXJjaF9wYXRoIG9uIHB1Ymxpc2hlciBhbmQgc3Vic2NyaWJlcgorJG5vZGVf cHVibGlzaGVyLT5hcHBlbmRfY29uZigncG9zdGdyZXNxbC5jb25mJywgJ3NlYXJjaF9wYXRoID0g XCdzMSwgcHVibGljXCcnKTsKKyRub2RlX3B1Ymxpc2hlci0+cmVzdGFydDsKKyMgQ1JFQVRFIHVu cXVhbGlmaWVkIHRhYmxlIHQyLCBpdCBpcyBzMS50MiB1bmRlciB0aGUgbW9kaWZpZWQgc2VhcmNo X3BhdGgKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDUkVBVEUgVEFC TEUgdDIgKGEgaW50LCBiIHZhcmNoYXIpOyIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywgIklOU0VSVCBJTlRPIHQyIFZBTFVFUyAoMSwgJ2EnKTsiKTsKKyRub2RlX3B1 Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJJTlNFUlQgSU5UTyB0MiBWQUxVRVMgKDIs ICdiJyk7Iik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiSU5TRVJU IElOVE8gdDIgVkFMVUVTICgzLCAnYycpOyIpOworCiskbm9kZV9wdWJsaXNoZXItPndhaXRfZm9y X2NhdGNodXAoJ215c3ViJyk7CisKKyRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3Bz cWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBGUk9NIHMxLnQyOyIpOworaXMoJHJlc3Vs dCwgcXEoMyksICdDUkVBVEUgVEFCTEUgczEudDIgaXMgcmVwbGljYXRlZCcpOworCisjIFRlc3Qg b3duZXIgb2YgbmV3IHRhYmxlIG9uIHN1YnNjcmliZXIgbWF0Y2hlcyB0aGUgb3duZXIgb24gcHVi bGlzaGVyCiskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIFJP TEUgZGRsX3JlcGxpY2F0aW9uX3VzZXIgTE9HSU4gU1VQRVJVU0VSOyIpOworCiskbm9kZV9zdWJz Y3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBST0xFIGRkbF9yZXBsaWNhdGlv bl91c2VyIExPR0lOIFNVUEVSVVNFUjsiKTsKKworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywgIlNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gJ2RkbF9yZXBsaWNhdGlvbl91 c2VyJzsgQ1JFQVRFIFRBQkxFIHQ1IChhIGludCwgYiB2YXJjaGFyKTsiKTsKKyRub2RlX3B1Ymxp c2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKKworJHJlc3VsdCA9ICRub2RlX3N1YnNj cmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIHRhYmxlb3duZXIgZnJvbSBwZ19j YXRhbG9nLnBnX3RhYmxlcyB3aGVyZSB0YWJsZW5hbWUgPSAndDUnOyIpOworaXMoJHJlc3VsdCwg cXEoZGRsX3JlcGxpY2F0aW9uX3VzZXIpLCAnT3duZXIgb2YgdDUgaXMgY29ycmVjdCcpOworCisj VE9ETyBURVNUIGNlcnRhaW4gRERMcyBhcmUgbm90IHJlcGxpY2F0ZWQKKworcGFzcyAiRERMIHJl cGxpY2F0aW9uIHRlc3RzIHBhc3NlZCEiOworCiskbm9kZV9zdWJzY3JpYmVyLT5zdG9wOworJG5v ZGVfc3Vic2NyaWJlcjItPnN0b3A7Ciskbm9kZV9wdWJsaXNoZXItPnN0b3A7CisKK2RvbmVfdGVz dGluZygpOwotLSAKMi4zMi4wCgo= --0000000000008260cd05deeafb8c Content-Type: application/octet-stream; name="0004-Enable-replication-of-CREATE-MATERIALIZED-VIEW-AS-st.patch" Content-Disposition: attachment; filename="0004-Enable-replication-of-CREATE-MATERIALIZED-VIEW-AS-st.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l34xb8t53 RnJvbSBlMmViNDY0ZTgyYjVlN2ViNDA4OGM3OTYxYjRhMTUyMWJkMTFjMzBkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IFR1ZSwgMjIgTWFyIDIwMjIgMjM6NDc6NTIgKzAwMDAKU3ViamVjdDogW1BBVENIIDA0 LzEwXSBFbmFibGUgcmVwbGljYXRpb24gb2YgQ1JFQVRFIE1BVEVSSUFMSVpFRCBWSUVXIEFTIHN0 bXQuCiBBZGQgdGVzdHMgZm9yIGJvdGggQ1JFQVRFIE1BVEVSSUFMSVpFRCBWSUVXIGFuZCBDUkVB VEUgVklFVy4KCi0tLQogc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMgICAgICAgICAgICAgIHwg NDIgKysrKysrKysrKysrKysrKysrKysrKystLQogc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMw X3JlcF9kZGxzLnBsIHwgMTggKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC90Y29wL3V0 aWxpdHkuYyBiL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jCmluZGV4IGZmYTBkZjc3MjguLmZk ZGExMzg1YzMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jCisrKyBiL3Ny Yy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jCkBAIC0xMTQwLDYgKzExNDAsNDUgQEAgTG9nTG9naWNh bERETENvbW1hbmQoTm9kZSAqcGFyc2V0cmVlLCBjb25zdCBjaGFyICpxdWVyeVN0cmluZykKIAkJ CX0KIAkJCWJyZWFrOwogCisJCS8qCisJCSAqIENyZWF0ZVRhYmxlQXNTdG10IGNhbiBjcmVhdGUg ZWl0aGVyIGEgdGFibGUgYSBtYXRlcmlhbGl6ZWQgdmlldworCQkgKiBhbmQgdGhleSBhcmUgaGFu ZGxlZCBkaWZmZXJlbnRseS4KKwkJICovCisJCWNhc2UgVF9DcmVhdGVUYWJsZUFzU3RtdDoKKwkJ eworCQkJQ3JlYXRlVGFibGVBc1N0bXQgKnN0bXQgPSAoQ3JlYXRlVGFibGVBc1N0bXQgKikgcGFy c2V0cmVlOworCQkJc3dpdGNoKHN0bXQtPm9ianR5cGUpCisJCQl7CisJCQkJY2FzZSBPQkpFQ1Rf VEFCTEU6CisJCQkJCS8qCisJCQkJCSAqIEZJWE1FIENSRUFURSBUQUJMRSBBUyBzdG10IG5lZWRz IHRvIGJlIGJyb2tlbiBkb3duIGludG8gdHdvIHBhcnRzCisJCQkJCSAqIDEuIEEgbm9ybWFsIENS RUFURSBUQUJMRSBzdHJpbmcgdGhhdCBnZXQncyBsb2dnZWQgYW5kIHJlcGxpY2F0ZWQgdmlhCisJ CQkJCSAqCSAgRERMIHJlcGxpY2F0aW9uLgorCQkJCQkgKiAyLiBJbnNlcnRpb25zIHRoYXQgZ2V0 IHJlcGxpY2F0ZWQgYnkgRE1MIHJlcGxpY2F0aW9uLgorCQkJCQkgKi8KKwkJCQkJYnJlYWs7CisJ CQkJY2FzZSBPQkpFQ1RfTUFUVklFVzoKKwkJCQkJLyoKKwkJCQkJICogTG9nIENSRUFURSBNQVRF UklBTElaRUQgVklFVyBBUyBzdG10IGZvciBsb2dpY2FsIHJlcGxpY2F0aW9uIGlmCisJCQkJCSAq IHRoZXJlIGlzIGFueSBGT1IgQUxMIFRBQkxFUyBwdWJsaWNhdGlvbiB3aXRoIHB1YmRkbF9kYXRh YmFzZSBvbi4KKwkJCQkJICogaS5lLiBEYXRhYmFzZSBsZXZlbCBEREwgcmVwbGljYXRpb24gaXMg b24gZm9yIHNvbWUgcHVibGljYXRpb24uCisJCQkJCSAqLworCQkJCQlpZiAoZGRsX25lZWRfeGxv ZyhJbnZhbGlkT2lkLCB0cnVlLCB0cnVlKSkKKwkJCQkJeworCQkJCQkJYm9vbCB0cmFuc2FjdGlv bmFsID0gdHJ1ZTsKKwkJCQkJCWNvbnN0IGNoYXIqIHByZWZpeCA9ICIiOworCQkJCQkJTG9nTG9n aWNhbERETE1lc3NhZ2UocHJlZml4LAorCQkJCQkJCQkJCQkgR2V0VXNlcklkKCksCisJCQkJCQkJ CQkJCSBxdWVyeVN0cmluZywKKwkJCQkJCQkJCQkJIHN0cmxlbihxdWVyeVN0cmluZyksCisJCQkJ CQkJCQkJCSB0cmFuc2FjdGlvbmFsKTsKKwkJCQkJfQorCQkJCWRlZmF1bHQ6CisJCQkJCWJyZWFr OworCQkJfQorCQkJYnJlYWs7CisJCX0KKwogCQkvKgogCQkgKiBTZWNvbmRseSwgY29tbWFuZHMg dGhhdCBtYXkgYmUgYWxsb3dlZCBpbiBUYWJsZSBsZXZlbCBEREwgcmVwbGljYXRpb24uCiAJCSAq IFRoZXNlIGFyZSBjdXJyZW50bHkgaGFuZGxlZCBpbiB0aGUgbGF0ZXIgZXhlY3V0aW9uIHBhdGgg b2YgdGhlIGNvbW1hbmQuCkBAIC0xMTU1LDcgKzExOTQsNyBAQCBMb2dMb2dpY2FsRERMQ29tbWFu ZChOb2RlICpwYXJzZXRyZWUsIGNvbnN0IGNoYXIgKnF1ZXJ5U3RyaW5nKQogCQkvKiBEcm9wU3Rt dCBkZXBlbmRzIG9uIHRoZSByZW1vdmVUeXBlICovCiAJCWNhc2UgVF9Ecm9wU3RtdDoKIAkJewot CQkJRHJvcFN0bXQqIHN0bXQgPSAoRHJvcFN0bXQqKSBwYXJzZXRyZWU7CisJCQlEcm9wU3RtdCAq c3RtdCA9IChEcm9wU3RtdCAqKSBwYXJzZXRyZWU7CiAJCQlzd2l0Y2ggKHN0bXQtPnJlbW92ZVR5 cGUpCiAJCQl7CiAJCQkJLyogTWF5YmUgYWxsb3dlZCBpbiBUYWJsZSBsZXZlbCBEREwgcmVwbGlj YXRpb24sIGhhbmRsZWQgaW4gbGF0ZXIgY29kZSBwYXRoICovCkBAIC0xMjA2LDcgKzEyNDUsNiBA QCBMb2dMb2dpY2FsRERMQ29tbWFuZChOb2RlICpwYXJzZXRyZWUsIGNvbnN0IGNoYXIgKnF1ZXJ5 U3RyaW5nKQogCQljYXNlIFRfUnVsZVN0bXQ6CiAJCWNhc2UgVF9DcmVhdGVTZXFTdG10OgogCQlj YXNlIFRfQWx0ZXJTZXFTdG10OgotCQljYXNlIFRfQ3JlYXRlVGFibGVBc1N0bXQ6CiAJCWNhc2Ug VF9SZWZyZXNoTWF0Vmlld1N0bXQ6CiAJCWNhc2UgVF9DcmVhdGVQTGFuZ1N0bXQ6CiAJCWNhc2Ug VF9DcmVhdGVDb252ZXJzaW9uU3RtdDoKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3N1YnNjcmlwdGlv bi90LzAzMF9yZXBfZGRscy5wbCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBfZGRs cy5wbAppbmRleCBjODhjNGVhMWMwLi41NjJlZmUyY2Y3IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9z dWJzY3JpcHRpb24vdC8wMzBfcmVwX2RkbHMucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9u L3QvMDMwX3JlcF9kZGxzLnBsCkBAIC0yMjYsNiArMjI2LDI0IEBAICRub2RlX3B1Ymxpc2hlci0+ d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKICRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5z YWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCB0YWJsZW93bmVyIGZyb20gcGdfY2F0YWxvZy5w Z190YWJsZXMgd2hlcmUgdGFibGVuYW1lID0gJ3Q1JzsiKTsKIGlzKCRyZXN1bHQsIHFxKGRkbF9y ZXBsaWNhdGlvbl91c2VyKSwgJ093bmVyIG9mIHQ1IGlzIGNvcnJlY3QnKTsKIAorIyBUZXN0IENS RUFURSBNQVRFUklBTElaRUQgVklFVyBzdG10IGlzIHJlcGxpY2F0ZWQKKyRub2RlX3B1Ymxpc2hl ci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDUkVBVEUgTUFURVJJQUxJWkVEIFZJRVcgczEubWF0 dmlldzEgQVMgU0VMRUNUIGEsIGIgZnJvbSBzMS50MTsiKTsKKyRyZXN1bHQgPSAkbm9kZV9wdWJs aXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIGZyb20gczEubWF0 dmlldzE7Iik7CisKKyRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsK KworJHJlc3VsdF9zdWIgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywg IlNFTEVDVCBjb3VudCgqKSBmcm9tIHMxLm1hdHZpZXcxOyIpOworaXMoJHJlc3VsdCwgcXEoJHJl c3VsdF9zdWIpLCAnQ1JFQVRFIG9mIHMxLm1hdHZpZXcxIGlzIHJlcGxpY2F0ZWQnKTsKKworIyBU ZXN0IENSRUFURSBWSUVXIHN0bXQgaXMgcmVwbGljYXRlZAorJG5vZGVfcHVibGlzaGVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBWSUVXIHMxLnZpZXcxIEFTIFNFTEVDVCBhLCBiIGZy b20gczEudDE7Iik7CiskcmVzdWx0ID0gJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywgIlNFTEVDVCBjb3VudCgqKSBmcm9tIHMxLnZpZXcxOyIpOworCiskbm9kZV9wdWJsaXNo ZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3ViJyk7CisKKyRyZXN1bHRfc3ViID0gJG5vZGVfc3Vi c2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgZnJvbSBzMS52 aWV3MTsiKTsKK2lzKCRyZXN1bHQsIHFxKCRyZXN1bHRfc3ViKSwgJ0NSRUFURSBvZiBzMS52aWV3 MSBpcyByZXBsaWNhdGVkJyk7CisKICNUT0RPIFRFU1QgY2VydGFpbiBERExzIGFyZSBub3QgcmVw bGljYXRlZAogCiBwYXNzICJEREwgcmVwbGljYXRpb24gdGVzdHMgcGFzc2VkISI7Ci0tIAoyLjMy LjAKCg== --0000000000008260cd05deeafb8c Content-Type: application/octet-stream; name="0006-Add-couple-tests-for-DDL-replication-case.patch" Content-Disposition: attachment; filename="0006-Add-couple-tests-for-DDL-replication-case.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l34xb8t75 RnJvbSBkZTcwODVjMjczOWJjNTI3YzU2NmNhMjA4ZTJiMzU2MmE1MmIzZGUyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCb3J1aSBZYW5nIDxib3J1aXlhbkBhbWF6b24uY29tPgpEYXRl OiBNb24sIDExIEFwciAyMDIyIDE4OjAyOjIxICswMDAwClN1YmplY3Q6IFtQQVRDSCAwNi8xMF0g QWRkIGNvdXBsZSB0ZXN0cyBmb3IgRERMIHJlcGxpY2F0aW9uIGNhc2UKCi0tLQogc3JjL3Rlc3Qv c3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9kZGxzLnBsIHwgODAgKysrKysrKysrKysrKysrKysrKysr KysrKwogMSBmaWxlIGNoYW5nZWQsIDgwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9zcmMv dGVzdC9zdWJzY3JpcHRpb24vdC8wMzBfcmVwX2RkbHMucGwgYi9zcmMvdGVzdC9zdWJzY3JpcHRp b24vdC8wMzBfcmVwX2RkbHMucGwKaW5kZXggM2IxNWM2ZDlmMC4uNGUwNTIxMjA2OCAxMDA2NDQK LS0tIGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9kZGxzLnBsCisrKyBiL3NyYy90 ZXN0L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBfZGRscy5wbApAQCAtMjY4LDYgKzI2OCw4NiBAQCAk bm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3ViJyk7CiAkcmVzdWx0ID0gJG5v ZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgZnJv bSBzMS50NjsiKTsKIGlzKCRyZXN1bHQsIHFxKDEpLCAnU0VMRUNUIElOVE8gczEudDYgaXMgcmVw bGljYXRlZCB3aXRoIGRhdGEnKTsKIAorIyBURVNUIENyZWF0ZSBEb21haW5TdG10Ciskbm9kZV9w dWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIERPTUFJTiBzMS5zcGFjZV9j aGVjayBBUyBWQVJDSEFSIE5PVCBOVUxMIENIRUNLICh2YWx1ZSAhfiAnXHMnKTsiKTsKKworJG5v ZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVzdWx0ID0gJG5v ZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgdC50eXBub3RudWxs IGZyb20gcGdfY2F0YWxvZy5wZ190eXBlIHQgd2hlcmUgdC50eXBuYW1lPSdzcGFjZV9jaGVjayc7 Iik7CitpcygkcmVzdWx0LCBxcSh0KSwgJ0NyZWF0ZURvbWFpbiBTdG10IGlzIHJlcGxpY2F0dGVk Jyk7CisKKyMgVEVTVCBBbHRlckRvbWFpblN0bXQKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsICJBbHRlciBkb21haW4gczEuc3BhY2VfY2hlY2sgZHJvcCBub3QgbnVsbDsi KTsKKworJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVz dWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgdC50 eXBub3RudWxsIGZyb20gcGdfY2F0YWxvZy5wZ190eXBlIHQgd2hlcmUgdC50eXBuYW1lPSdzcGFj ZV9jaGVjayc7Iik7CitpcygkcmVzdWx0LCBxcShmKSwgJ0FMVEVSIERPTUFJTiBTdG10IGlzIHJl cGxpY2F0ZWQnKTsKKworI1RFU1QgREVGSU5FIFN0bXQKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9w c3FsKCdwb3N0Z3JlcycsICJDUkVBVEUgQUdHUkVHQVRFIHMxLmluY19zdW0oaW50KSAoc2Z1bmMg PSBpbnQ0cGwsc3R5cGUgPSBpbnQsaW5pdGNvbmQgPSAxMCk7Iik7CisKKyRub2RlX3B1Ymxpc2hl ci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKKworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmli ZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIGZyb20gcGdfY2F0YWxv Zy5wZ19wcm9jIHAgd2hlcmUgcC5wcm9uYW1lPSdpbmNfc3VtJzsiKTsKK2lzKCRyZXN1bHQsIHFx KDEpLCAnRGVmaW5lIHN0bXQgaXMgcmVwbGljYXRlZCcpOworCisjVEVTVCBDb21wb3NpdGVUeXBl U3RtdAorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBUWVBF IHMxLmNvbXBmb28gQVMgKGYxIGludCwgZjIgdGV4dCk7Iik7CisKKyRub2RlX3B1Ymxpc2hlci0+ d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKKworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIGZyb20gcGdfY2F0YWxvZy5w Z190eXBlIHQgd2hlcmUgdC50eXBuYW1lPSdjb21wZm9vJzsiKTsKK2lzKCRyZXN1bHQsIHFxKDEp LCAnQ29tcG9zaXRlVHlwZSBTdG10IGlzIHJlcGxpY2F0ZWQnKTsKKworI1RFU1QgQ3JlYXRlRW51 bSBTdG10Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIFRZ UEUgczEubW9vZCBBUyBFTlVNICgnc2FkJywgJ29rJywgJ2hhcHB5Jyk7Iik7CisKKyRub2RlX3B1 Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKKworJHJlc3VsdCA9ICRub2RlX3N1 YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIGZyb20gcGdf Y2F0YWxvZy5wZ190eXBlIHQgd2hlcmUgdC50eXBuYW1lPSdtb29kJzsiKTsKK2lzKCRyZXN1bHQs IHFxKDEpLCAnQ3JlYXRlRW51bVR5cGUgU3RtdCBpcyByZXBsaWNhdGVkJyk7CisKKyNURVNUIEFs dGVyRW51bSBTdG10Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQUxU RVIgVFlQRSBzMS5tb29kIFJFTkFNRSBWQUxVRSAnc2FkJyB0byAnZmluZSc7Iik7CisKKyRub2Rl X3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKKworJHJlc3VsdCA9ICRub2Rl X3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIEZST00g cGdfY2F0YWxvZy5wZ19lbnVtIGUsIHBnX2NhdGFsb2cucGdfdHlwZSB0ICBXSEVSRSBlLmVudW10 eXBpZCA9IHQub2lkIEFORCB0LnR5cG5hbWU9J21vb2QnIEFORCBlLmVudW1sYWJlbD0nZmluZSc7 Iik7CitpcygkcmVzdWx0LCBxcSgxKSwgJ0FsdGVyRW51bVR5cGUgU3RtdCBpcyByZXBsaWNhdGVk Jyk7CisKKyNURVNUIENyZWF0ZVJhbmdlIFN0bXQKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsICJDUkVBVEUgVFlQRSBmbG9hdHJhbmdlIEFTIFJBTkdFIChzdWJ0eXBlID0g ZmxvYXQ4LHN1YnR5cGVfZGlmZiA9IGZsb2F0OG1pKTsiKTsKKworJG5vZGVfcHVibGlzaGVyLT53 YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgZnJvbSBwZ19jYXRhbG9nLnBn X3R5cGUgdCB3aGVyZSB0LnR5cG5hbWU9J2Zsb2F0cmFuZ2UnOyIpOworaXMoJHJlc3VsdCwgcXEo MSksICdDcmVhdGVSYW5nZSBTdG10IGlzIHJlcGxpY2F0ZWQnKTsKKworI1RFU1QgVklFVyBTdG10 Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIFZJRVcgczEu dmlzdGEgQVMgU0VMRUNUICdIZWxsbyBXb3JsZCc7Iik7CisKKyRub2RlX3B1Ymxpc2hlci0+d2Fp dF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKKworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIGZyb20gcGdfY2F0YWxvZy5wZ19j bGFzcyBjIHdoZXJlIGMucmVsbmFtZT0ndmlzdGEnOyIpOworaXMoJHJlc3VsdCwgcXEoMSksICdW SUVXIFN0bXQgaXMgcmVwbGljYXRlZCcpOworCisjVEVTVCBDcmVhdGVGdW5jdGlvbiBTdG10Cisk bm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIEZVTkNUSU9OIHMx LmFkZChhIGludGVnZXIsIGIgaW50ZWdlcikgUkVUVVJOUyBpbnRlZ2VyIExBTkdVQUdFIFNRTCBJ TU1VVEFCTEUgUkVUVVJOIGEgKyBiOyIpOworCiskbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2Nh dGNodXAoJ215c3ViJyk7CisKKyRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBmcm9tIHBnX2NhdGFsb2cucGdfcHJvYyBwIHdo ZXJlIHAucHJvbmFtZT0nYWRkJzsiKTsKK2lzKCRyZXN1bHQsIHFxKDEpLCAnQ3JlYXRlRnVuY3Rp b24gU3RtdCBpcyByZXBsaWNhdGVkJyk7CisKKyNURVNUIENyZWF0ZUNhc3QgU3RtdAorJG5vZGVf cHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBDQVNUIChpbnQgQVMgaW50 NCkgV0lUSCBGVU5DVElPTiBhZGQoaW50LGludCkgQVMgQVNTSUdOTUVOVDsiKTsKKworJG5vZGVf cHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVzdWx0ID0gJG5vZGVf c3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgRlJPTSBw Z19jYXRhbG9nLnBnX2Nhc3QgYywgcGdfY2F0YWxvZy5wZ19wcm9jIHAgV0hFUkUgcC5wcm9uYW1l PSdhZGQnIEFORCBjLmNhc3RmdW5jPXAub2lkOyIpOworaXMoJHJlc3VsdCwgcXEoMSksICdDcmVh dGVDYXN0IFN0bXQgaXMgcmVwbGljYXRlZCcpOworCiAjVE9ETyBURVNUIGNlcnRhaW4gRERMcyBh cmUgbm90IHJlcGxpY2F0ZWQKIAogcGFzcyAiRERMIHJlcGxpY2F0aW9uIHRlc3RzIHBhc3NlZCEi OwotLSAKMi4zMi4wCgo= --0000000000008260cd05deeafb8c Content-Type: application/octet-stream; name="0009-Support-replication-of-DDL-type-T_RenameStmt-table-r.patch" Content-Disposition: attachment; filename="0009-Support-replication-of-DDL-type-T_RenameStmt-table-r.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l34xb8t98 RnJvbSAwZDI0NmI5ZGYzMTJlNGE5N2U0MTdkNjVhZjFiOWMwOTVjNDU3ZThmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQb255Ym95WWJyIDw5NGJvcmVseWFuZ0BnbWFpbC5jb20+CkRh dGU6IFdlZCwgMTEgTWF5IDIwMjIgMTU6NDY6NDAgLTA3MDAKU3ViamVjdDogW1BBVENIIDA5LzEw XSBTdXBwb3J0IHJlcGxpY2F0aW9uIG9mIERETCB0eXBlIFRfUmVuYW1lU3RtdDogdGFibGUKIHJl bmFtZSBpcyBhbGxvd2VkIGluIGJvdGggZGF0YWJhc2UgbGV2ZWwgYW5kIHRhYmxlIGxldmVsIERE TCByZXBsaWNhdGlvbi4KIFJlbmFtZSBvZiBvdGhlciBvYmplY3RzIGFyZSBvbmx5IGFsbG93ZWQg aW4gZGF0YWJhc2UgbGV2ZWwgRERMIHJlcGxpY2F0aW9uLgoKQ28tYXV0aG9yZWQtYnk6IEJvcnVp IFlhbmcgPGJvcnVpeWFuQGFtYXpvbi5jb20+Ci0tLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvYWx0 ZXIuYyAgICAgICAgICAgIHwgIDUgKystLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRz LmMgICAgICAgIHwgMTUgKysrKysrKysrKy0KIHNyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jICAg ICAgICAgICAgICB8IDIwICsrKysrKysrKysrKy0tLQogc3JjL2luY2x1ZGUvY29tbWFuZHMvYWx0 ZXIuaCAgICAgICAgICAgIHwgIDMgKystCiBzcmMvaW5jbHVkZS9jb21tYW5kcy90YWJsZWNtZHMu aCAgICAgICAgfCAgMiArLQogc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9kZGxzLnBs IHwgMzMgKysrKysrKysrKysrKysrKysrKysrKystLQogNiBmaWxlcyBjaGFuZ2VkLCA2NyBpbnNl cnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21t YW5kcy9hbHRlci5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvYWx0ZXIuYwppbmRleCA1NDU2Yjgy MjJiLi4xY2E4Zjk5ZTBjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9hbHRlci5j CisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2FsdGVyLmMKQEAgLTMyOCw3ICszMjgsOCBAQCBB bHRlck9iamVjdFJlbmFtZV9pbnRlcm5hbChSZWxhdGlvbiByZWwsIE9pZCBvYmplY3RJZCwgY29u c3QgY2hhciAqbmV3X25hbWUpCiAgKiBSZXR1cm4gdmFsdWUgaXMgdGhlIGFkZHJlc3Mgb2YgdGhl IHJlbmFtZWQgb2JqZWN0LgogICovCiBPYmplY3RBZGRyZXNzCi1FeGVjUmVuYW1lU3RtdChSZW5h bWVTdG10ICpzdG10KQorRXhlY1JlbmFtZVN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBSZW5hbWVT dG10ICpzdG10LAorCQkJCWJvb2wgaXNDb21wbGV0ZVF1ZXJ5KQogewogCXN3aXRjaCAoc3RtdC0+ cmVuYW1lVHlwZSkKIAl7CkBAIC0zNTQsNyArMzU1LDcgQEAgRXhlY1JlbmFtZVN0bXQoUmVuYW1l U3RtdCAqc3RtdCkKIAkJY2FzZSBPQkpFQ1RfTUFUVklFVzoKIAkJY2FzZSBPQkpFQ1RfSU5ERVg6 CiAJCWNhc2UgT0JKRUNUX0ZPUkVJR05fVEFCTEU6Ci0JCQlyZXR1cm4gUmVuYW1lUmVsYXRpb24o c3RtdCk7CisJCQlyZXR1cm4gUmVuYW1lUmVsYXRpb24ocHN0YXRlLCBzdG10LCBpc0NvbXBsZXRl UXVlcnkpOwogCiAJCWNhc2UgT0JKRUNUX0NPTFVNTjoKIAkJY2FzZSBPQkpFQ1RfQVRUUklCVVRF OgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMgYi9zcmMvYmFj a2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwppbmRleCAzYzliNjQwOWNhLi42NTM4NmYyNjQxIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYworKysgYi9zcmMvYmFj a2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwpAQCAtMzgyMCwxMSArMzgyMCwxMiBAQCBSZW5hbWVD b25zdHJhaW50KFJlbmFtZVN0bXQgKnN0bXQpCiAgKiBSRU5BTUUKICAqLwogT2JqZWN0QWRkcmVz cwotUmVuYW1lUmVsYXRpb24oUmVuYW1lU3RtdCAqc3RtdCkKK1JlbmFtZVJlbGF0aW9uKFBhcnNl U3RhdGUgKnBzdGF0ZSwgUmVuYW1lU3RtdCAqc3RtdCwgYm9vbCBpc0NvbXBsZXRlUXVlcnkpCiB7 CiAJYm9vbAkJaXNfaW5kZXhfc3RtdCA9IHN0bXQtPnJlbmFtZVR5cGUgPT0gT0JKRUNUX0lOREVY OwogCU9pZAkJCXJlbGlkOwogCU9iamVjdEFkZHJlc3MgYWRkcmVzczsKKwlib29sCQlkZGx4bG9n ID0gWExvZ0xvZ2ljYWxJbmZvQWN0aXZlKCkgJiYgaXNDb21wbGV0ZVF1ZXJ5OwogCiAJLyoKIAkg KiBHcmFiIGFuIGV4Y2x1c2l2ZSBsb2NrIG9uIHRoZSB0YXJnZXQgdGFibGUsIGluZGV4LCBzZXF1 ZW5jZSwgdmlldywKQEAgLTM4NzIsNiArMzg3MywxOCBAQCBSZW5hbWVSZWxhdGlvbihSZW5hbWVT dG10ICpzdG10KQogCQlpc19pbmRleF9zdG10ID0gb2JqX2lzX2luZGV4OwogCX0KIAorCWlmIChk ZGx4bG9nICYmCisJCWRkbF9uZWVkX3hsb2cocmVsaWQsIGZhbHNlKSkKKwl7CisJCWJvb2wgdHJh bnNhY3Rpb25hbCA9IHRydWU7CisJCWNvbnN0IGNoYXIqIHByZWZpeCA9ICIiOworCQlMb2dMb2dp Y2FsRERMTWVzc2FnZShwcmVmaXgsCisJCQkJCQkJIEdldFVzZXJJZCgpLAorCQkJCQkJCSBwc3Rh dGUtPnBfc291cmNldGV4dCwKKwkJCQkJCQkgc3RybGVuKHBzdGF0ZS0+cF9zb3VyY2V0ZXh0KSwK KwkJCQkJCQkgdHJhbnNhY3Rpb25hbCk7CisJfQorCiAJLyogRG8gdGhlIHdvcmsgKi8KIAlSZW5h bWVSZWxhdGlvbkludGVybmFsKHJlbGlkLCBzdG10LT5uZXduYW1lLCBmYWxzZSwgaXNfaW5kZXhf c3RtdCk7CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jIGIvc3JjL2Jh Y2tlbmQvdGNvcC91dGlsaXR5LmMKaW5kZXggMmQ2YjIwM2FjMy4uYTdiZmRhN2IwOCAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKKysrIGIvc3JjL2JhY2tlbmQvdGNvcC91 dGlsaXR5LmMKQEAgLTEwMDIsNyArMTAwMiw3IEBAIHN0YW5kYXJkX1Byb2Nlc3NVdGlsaXR5KFBs YW5uZWRTdG10ICpwc3RtdCwKIAkJCQkJCQkJCSAgIGNvbnRleHQsIHBhcmFtcywgcXVlcnlFbnYs CiAJCQkJCQkJCQkgICBkZXN0LCBxYyk7CiAJCQkJZWxzZQotCQkJCQlFeGVjUmVuYW1lU3RtdChz dG10KTsKKwkJCQkJRXhlY1JlbmFtZVN0bXQocHN0YXRlLCBzdG10LCBjb250ZXh0ICE9IFBST0NF U1NfVVRJTElUWV9TVUJDT01NQU5EKTsKIAkJCX0KIAkJCWJyZWFrOwogCkBAIC0xMTk1LDggKzEx OTUsMjAgQEAgTG9nTG9naWNhbERETENvbW1hbmQoTm9kZSAqcGFyc2V0cmVlLCBjb25zdCBjaGFy ICpxdWVyeVN0cmluZykKIAkJICovCiAJCWNhc2UgVF9BbHRlclRhYmxlU3RtdDoKIAkJY2FzZSBU X0luZGV4U3RtdDoKLQkJY2FzZSBUX1JlbmFtZVN0bXQ6IC8qIFRPRE8gKi8KLQkJY2FzZSBUX0Fs dGVyT3duZXJTdG10OiAvKiBUT0RPICovCisJCWNhc2UgVF9SZW5hbWVTdG10OgorCQl7CisJCQlS ZW5hbWVTdG10ICpzdG10ID0gKFJlbmFtZVN0bXQgKikgcGFyc2V0cmVlOworCQkJaWYoIXN0bXQt PnJlbGF0aW9uICYmIGRkbF9uZWVkX3hsb2coSW52YWxpZE9pZCwgdHJ1ZSkpeworCQkJCWJvb2wg dHJhbnNhY3Rpb25hbCA9IHRydWU7CisJCQkJY29uc3QgY2hhciogcHJlZml4ID0gIiI7CisJCQkJ TG9nTG9naWNhbERETE1lc3NhZ2UocHJlZml4LAorCQkJCQkJCQkJR2V0VXNlcklkKCksCisJCQkJ CQkJCQlxdWVyeVN0cmluZywKKwkJCQkJCQkJCXN0cmxlbihxdWVyeVN0cmluZyksCisJCQkJCQkJ CQl0cmFuc2FjdGlvbmFsKTsKKwkJCX0KKwkJfQorCQljYXNlIFRfQWx0ZXJPd25lclN0bXQ6IC8q IFRPRE8sIGl0IGlzIGRhdGEgY29udHJvbCBjYXNlLCBzYXZlIGZvciBsYXRlciB1cGRhdGUgKi8K IAkJCWJyZWFrOwogCiAJCS8qIERyb3BTdG10IGRlcGVuZHMgb24gdGhlIHJlbW92ZVR5cGUgKi8K QEAgLTIwMDIsNyArMjAxNCw3IEBAIFByb2Nlc3NVdGlsaXR5U2xvdyhQYXJzZVN0YXRlICpwc3Rh dGUsCiAJCQkJYnJlYWs7CiAKIAkJCWNhc2UgVF9SZW5hbWVTdG10OgotCQkJCWFkZHJlc3MgPSBF eGVjUmVuYW1lU3RtdCgoUmVuYW1lU3RtdCAqKSBwYXJzZXRyZWUpOworCQkJCWFkZHJlc3MgPSBF eGVjUmVuYW1lU3RtdChwc3RhdGUsIChSZW5hbWVTdG10ICopIHBhcnNldHJlZSwgaXNDb21wbGV0 ZVF1ZXJ5KTsKIAkJCQlicmVhazsKIAogCQkJY2FzZSBUX0FsdGVyT2JqZWN0RGVwZW5kc1N0bXQ6 CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9hbHRlci5oIGIvc3JjL2luY2x1ZGUv Y29tbWFuZHMvYWx0ZXIuaAppbmRleCA1MmY1ZTZmNmQyLi5kZjkzMzNlYjkzIDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9jb21tYW5kcy9hbHRlci5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRz L2FsdGVyLmgKQEAgLTE3LDkgKzE3LDEwIEBACiAjaW5jbHVkZSAiY2F0YWxvZy9kZXBlbmRlbmN5 LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9vYmplY3RhZGRyZXNzLmgiCiAjaW5jbHVkZSAibm9kZXMv cGFyc2Vub2Rlcy5oIgorI2luY2x1ZGUgInBhcnNlci9wYXJzZV9ub2RlLmgiCiAjaW5jbHVkZSAi dXRpbHMvcmVsY2FjaGUuaCIKIAotZXh0ZXJuIE9iamVjdEFkZHJlc3MgRXhlY1JlbmFtZVN0bXQo UmVuYW1lU3RtdCAqc3RtdCk7CitleHRlcm4gT2JqZWN0QWRkcmVzcyBFeGVjUmVuYW1lU3RtdChQ YXJzZVN0YXRlICpwc3RhdGUsIFJlbmFtZVN0bXQgKnN0bXQsIGJvb2wgaXNDb21wbGV0ZVF1ZXJ5 KTsKIAogZXh0ZXJuIE9iamVjdEFkZHJlc3MgRXhlY0FsdGVyT2JqZWN0RGVwZW5kc1N0bXQoQWx0 ZXJPYmplY3REZXBlbmRzU3RtdCAqc3RtdCwKIAkJCQkJCQkJCQkJCU9iamVjdEFkZHJlc3MgKnJl ZkFkZHJlc3MpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdGFibGVjbWRzLmgg Yi9zcmMvaW5jbHVkZS9jb21tYW5kcy90YWJsZWNtZHMuaAppbmRleCAyNDEwNmRlMmU1Li5mOTZi YjU3ZDU2IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy90YWJsZWNtZHMuaAorKysg Yi9zcmMvaW5jbHVkZS9jb21tYW5kcy90YWJsZWNtZHMuaApAQCAtNzQsNyArNzQsNyBAQCBleHRl cm4gT2JqZWN0QWRkcmVzcyByZW5hbWVhdHQoUmVuYW1lU3RtdCAqc3RtdCk7CiAKIGV4dGVybiBP YmplY3RBZGRyZXNzIFJlbmFtZUNvbnN0cmFpbnQoUmVuYW1lU3RtdCAqc3RtdCk7CiAKLWV4dGVy biBPYmplY3RBZGRyZXNzIFJlbmFtZVJlbGF0aW9uKFJlbmFtZVN0bXQgKnN0bXQpOworZXh0ZXJu IE9iamVjdEFkZHJlc3MgUmVuYW1lUmVsYXRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBSZW5hbWVT dG10ICpzdG10LCBib29sIGlzQ29tcGxldGVRdWVyeSk7CiAKIGV4dGVybiB2b2lkIFJlbmFtZVJl bGF0aW9uSW50ZXJuYWwoT2lkIG15cmVsaWQsCiAJCQkJCQkJCSAgIGNvbnN0IGNoYXIgKm5ld3Jl bG5hbWUsIGJvb2wgaXNfaW50ZXJuYWwsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRp b24vdC8wMzBfcmVwX2RkbHMucGwgYi9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzBfcmVwX2Rk bHMucGwKaW5kZXggYjRkZjFiZmVmZC4uNTExMjZiNDg5YiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv c3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9kZGxzLnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlv bi90LzAzMF9yZXBfZGRscy5wbApAQCAtMzAsNyArMzAsNiBAQCAkbm9kZV9zdWJzY3JpYmVyLT5z YWZlX3BzcWwoJ3Bvc3RncmVzJywgJGRkbCk7CiAkbm9kZV9zdWJzY3JpYmVyMi0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsICRkZGwpOwogCiBteSAkcHVibGlzaGVyX2Nvbm5zdHIgPSAkbm9kZV9wdWJs aXNoZXItPmNvbm5zdHIgLiAnIGRibmFtZT1wb3N0Z3Jlcyc7Ci0KICMgbXlwdWIgaGFzIHB1YmRk bF9kYXRhYmFzZSBvbgogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAki Q1JFQVRFIFBVQkxJQ0FUSU9OIG15cHViIEZPUiBBTEwgVEFCTEVTOyIpOwpAQCAtMjY5LDcgKzI2 OCw3IEBAICRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywg IlNFTEVDVCBjb3VudCgqKSBmcm9tIHMxLnQ2OyIpCiBpcygkcmVzdWx0LCBxcSgxKSwgJ1NFTEVD VCBJTlRPIHMxLnQ2IGlzIHJlcGxpY2F0ZWQgd2l0aCBkYXRhJyk7CiAKICMgVEVTVCBDcmVhdGUg RG9tYWluU3RtdAotJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFU RSBET01BSU4gczEuc3BhY2VfY2hlY2sgQVMgVkFSQ0hBUiBOT1QgTlVMTCBDSEVDSyAodmFsdWUg IX4gJ1xzJyk7Iik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JF QVRFIERPTUFJTiBzMS5zcGFjZV9jaGVjayBBUyBWQVJDSEFSIE5PVCBOVUxMIENIRUNLICh2YWx1 ZSAhfiAnXFxzJyk7Iik7CiAKICRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlz dWInKTsKIApAQCAtMzQ4LDYgKzM0NywzNiBAQCAkbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2Nh dGNodXAoJ215c3ViJyk7CiAkcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdw b3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgRlJPTSBwZ19jYXRhbG9nLnBnX2Nhc3QgYywgcGdf Y2F0YWxvZy5wZ19wcm9jIHAgV0hFUkUgcC5wcm9uYW1lPSdhZGQnIEFORCBjLmNhc3RmdW5jPXAu b2lkOyIpOwogaXMoJHJlc3VsdCwgcXEoMSksICdDcmVhdGVDYXN0IFN0bXQgaXMgcmVwbGljYXRl ZCcpOwogCisjVEVTVCBSZW5hbWVTdG10IGZvciBGVU5DVElPTgorJG5vZGVfcHVibGlzaGVyLT5z YWZlX3BzcWwoJ3Bvc3RncmVzJywgIkFMVEVSIEZVTkNUSU9OIGFkZCBSRU5BTUUgVE8gcGx1czsi KTsKKworJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVz dWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291 bnQoKikgZnJvbSBwZ19jYXRhbG9nLnBnX3Byb2MgcCB3aGVyZSBwLnByb25hbWU9J3BsdXMnOyIp OworaXMoJHJlc3VsdCwgcXEoMSksICdSRU5BTUUgRlVOQ1RJT04gU3RtdCBpcyByZXBsaWNhdGVk Jyk7CisKKyNURVNUIFJlbmFtZVN0bXQgZm9yIHRhYmxlCiskbm9kZV9wdWJsaXNoZXItPnNhZmVf cHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIERBVEFCQVNFIGRiMTsiKTsKKyRub2RlX3B1Ymxpc2hl ci0+c2FmZV9wc3FsKCdkYjEnLCAiQ1JFQVRFIFRBQkxFIHQ3IChpZCBpbnQgcHJpbWFyeSBrZXks IG5hbWUgdmFyY2hhcik7Iik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgnZGIxJywgIkNS RUFURSBUQUJMRSB0OCAoaWQgaW50IHByaW1hcnkga2V5LCBuYW1lIHZhcmNoYXIpOyIpOworJG5v ZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ2RiMScsCisJIkNSRUFURSBQVUJMSUNBVElPTiBteXB1 YjMgRk9SIFRBQkxFIHQ3IHdpdGggKGRkbCA9ICd0YWJsZScpOyIpOworbXkgJHB1Ymxpc2hlcl9j b25uc3RyX2RiMSA9ICRub2RlX3B1Ymxpc2hlci0+Y29ubnN0ciAuICcgZGJuYW1lPWRiMSc7Cisk bm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBEQVRBQkFTRSBk YjE7Iik7Ciskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ2RiMScsICJDUkVBVEUgVEFCTEUg dDcgKGlkIGludCBwcmltYXJ5IGtleSwgbmFtZSB2YXJjaGFyKTsiKTsKKyRub2RlX3N1YnNjcmli ZXItPnNhZmVfcHNxbCgnZGIxJywgIkNSRUFURSBUQUJMRSB0OCAoaWQgaW50IHByaW1hcnkga2V5 LCBuYW1lIHZhcmNoYXIpOyIpOworJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdkYjEnLAor CSJDUkVBVEUgU1VCU0NSSVBUSU9OIG15c3ViMyBDT05ORUNUSU9OICckcHVibGlzaGVyX2Nvbm5z dHJfZGIxJyBQVUJMSUNBVElPTiBteXB1YjM7IgorKTsKKyRub2RlX3B1Ymxpc2hlci0+d2FpdF9m b3JfY2F0Y2h1cCgnbXlzdWIzJyk7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgnZGIxJywg IkFMVEVSIFRBQkxFIHQ3IFJFTkFNRSBUTyBuZXd0NzsiKTsKKyRub2RlX3B1Ymxpc2hlci0+c2Fm ZV9wc3FsKCdkYjEnLCAiQUxURVIgVEFCTEUgdDggUkVOQU1FIFRPIG5ld3Q4OyIpOworJG5vZGVf cHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YjMnKTsKKyRyZXN1bHQgPSAkbm9kZV9z dWJzY3JpYmVyLT5zYWZlX3BzcWwoJ2RiMScsICJTRUxFQ1QgY291bnQoKikgZnJvbSBwZ190YWJs ZXMgd2hlcmUgdGFibGVuYW1lID0gJ25ld3Q3JzsiKTsKK2lzKCRyZXN1bHQsIHFxKDEpLCAnUmVu YW1lIHQ3IHRvIG5ld3Q3IGlzIHJlcGxpY2F0ZWQnKTsKKyRyZXN1bHQgPSAkbm9kZV9zdWJzY3Jp YmVyLT5zYWZlX3BzcWwoJ2RiMScsICJTRUxFQ1QgY291bnQoKikgZnJvbSBwZ190YWJsZXMgd2hl cmUgdGFibGVuYW1lID0gJ25ld3Q4JzsiKTsKK2lzKCRyZXN1bHQsIHFxKDApLCAnUmVuYW1lIHQ4 IHRvIG5ld3Q4IGlzIG5vdCByZXBsaWNhdGVkJyk7CisKICNURVNUIERETCBpbiBmdW5jdGlvbgog JG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgcXF7CiBDUkVBVEUgT1IgUkVQ TEFDRSBGVU5DVElPTiBmdW5jX2RkbCAodG5hbWUgdmFyY2hhcigyMCkpCi0tIAoyLjMyLjAKCg== --0000000000008260cd05deeafb8c Content-Type: application/octet-stream; name="0001-Define-DDL-replication-levels-via-the-CREATE-PUBLICA.patch" Content-Disposition: attachment; filename="0001-Define-DDL-replication-levels-via-the-CREATE-PUBLICA.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l34xb8sq0 RnJvbSA1NjI5MTg0YzA2NWZiMDg2ZDY0ODE2MzFiZmRkNTc2ZjhjNmU0MzNiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IEZyaSwgMTggTWFyIDIwMjIgMTY6NDc6MTYgKzAwMDAKU3ViamVjdDogW1BBVENIIDAx LzEwXSBEZWZpbmUgRERMIHJlcGxpY2F0aW9uIGxldmVscyB2aWEgdGhlIENSRUFURQogUFVCTElD QVRJT04gY29tbWFuZCwgY3VycmVudGx5IGFsbG93IERhdGFiYXNlIG9yIFRhYmxlIGxldmVsIERE TCByZXBsaWNhdGlvbi4KCkFsbG93IHRoZSB1c2VyIHRvIGNvbmZpZ3VyZSBlaXRoZXIgZGF0YWJh c2UgbGV2ZWwgb3IgdGFibGUgbGV2ZWwKRERMIHJlcGxpY2F0aW9uIHZpYSB0aGUgQ1JFQVRFIFBV QkxJQ0FUSU9OIGNvbW1hbmQgYXMgaW4gbXkgZmlyc3QKZW1haWwuIFR3byBuZXcgY29sdW1ucyBh cmUgYWRkZWQgdG8gdGhlIHBnX3B1YmxpY2F0aW9uIGNhdGFsb2cgdG8Kc2hvdyB0aGUgRERMIHJl cGxpY2F0aW9uIGxldmVscywgdGVzdCBvdXRwdXQgcHVibGljYXRpb24ub3V0IGlzCnVwZGF0ZWQg YWNjb3JkaW5nbHkuIHBnX2R1bXAgaXMgYWxzbyBtb2RpZmllZCB0byBhY2NvbW1vZGF0ZSB0aGUK cGdfcHVibGljYXRpb24gY2F0YWxvZyBjaGFuZ2UuCi0tLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9w Z19wdWJsaWNhdGlvbi5jICAgICAgfCAgIDIgKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvcHVibGlj YXRpb25jbWRzLmMgICAgfCAgODkgKysrKystCiBzcmMvYmFja2VuZC91dGlscy9jYWNoZS9yZWxj YWNoZS5jICAgICAgICB8ICAgMiArCiBzcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jICAgICAgICAg ICAgICAgICB8ICA0NSArKy0KIHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmggICAgICAgICAgICAg ICAgIHwgICAyICsKIHNyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsICAgICAgICAgIHwg IDEwICstCiBzcmMvYmluL3BzcWwvZGVzY3JpYmUuYyAgICAgICAgICAgICAgICAgICB8ICAzMCAr LQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5oICAgICAgfCAgMTAgKwogc3Jj L2luY2x1ZGUvY29tbWFuZHMvZGVmcmVtLmggICAgICAgICAgICAgfCAgIDEgKwogc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9wdWJsaWNhdGlvbi5vdXQgfCAzNzIgKysrKysrKysrKystLS0tLS0t LS0tLQogMTAgZmlsZXMgY2hhbmdlZCwgMzY0IGluc2VydGlvbnMoKyksIDE5OSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMgYi9z cmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMKaW5kZXggZTJjOGJjYjI3OS4uNzFh MjU5MTUzYyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5j CisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYwpAQCAtMTAwNiw2ICsx MDA2LDggQEAgR2V0UHVibGljYXRpb24oT2lkIHB1YmlkKQogCXB1Yi0+cHViYWN0aW9ucy5wdWJk ZWxldGUgPSBwdWJmb3JtLT5wdWJkZWxldGU7CiAJcHViLT5wdWJhY3Rpb25zLnB1YnRydW5jYXRl ID0gcHViZm9ybS0+cHVidHJ1bmNhdGU7CiAJcHViLT5wdWJ2aWFyb290ID0gcHViZm9ybS0+cHVi dmlhcm9vdDsKKwlwdWItPnB1YmFjdGlvbnMucHViZGRsX2RhdGFiYXNlID0gcHViZm9ybS0+cHVi ZGRsX2RhdGFiYXNlOworCXB1Yi0+cHViYWN0aW9ucy5wdWJkZGxfdGFibGUgPSBwdWJmb3JtLT5w dWJkZGxfdGFibGU7CiAKIAlSZWxlYXNlU3lzQ2FjaGUodHVwKTsKIApkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvY29tbWFuZHMvcHVibGljYXRpb25jbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5k cy9wdWJsaWNhdGlvbmNtZHMuYwppbmRleCA4ZTY0NTc0MWU0Li5lZGNlYWEwYzRlIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9wdWJsaWNhdGlvbmNtZHMuYworKysgYi9zcmMvYmFj a2VuZC9jb21tYW5kcy9wdWJsaWNhdGlvbmNtZHMuYwpAQCAtODAsMTUgKzgwLDE4IEBAIHN0YXRp YyB2b2lkIFB1YmxpY2F0aW9uRHJvcFNjaGVtYXMoT2lkIHB1YmlkLCBMaXN0ICpzY2hlbWFzLCBi b29sIG1pc3Npbmdfb2spOwogc3RhdGljIHZvaWQKIHBhcnNlX3B1YmxpY2F0aW9uX29wdGlvbnMo UGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkJICBMaXN0ICpvcHRpb25zLAorCQkJCQkJICBib29s IGZvcl9hbGxfdGFibGVzLAogCQkJCQkJICBib29sICpwdWJsaXNoX2dpdmVuLAogCQkJCQkJICBQ dWJsaWNhdGlvbkFjdGlvbnMgKnB1YmFjdGlvbnMsCiAJCQkJCQkgIGJvb2wgKnB1Ymxpc2hfdmlh X3BhcnRpdGlvbl9yb290X2dpdmVuLAotCQkJCQkJICBib29sICpwdWJsaXNoX3ZpYV9wYXJ0aXRp b25fcm9vdCkKKwkJCQkJCSAgYm9vbCAqcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QsCisJCQkJ CQkgIGJvb2wgKmRkbF9sZXZlbF9naXZlbikKIHsKIAlMaXN0Q2VsbCAgICpsYzsKIAogCSpwdWJs aXNoX2dpdmVuID0gZmFsc2U7CiAJKnB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290X2dpdmVuID0g ZmFsc2U7CisJKmRkbF9sZXZlbF9naXZlbiA9IGZhbHNlOwogCiAJLyogZGVmYXVsdHMgKi8KIAlw dWJhY3Rpb25zLT5wdWJpbnNlcnQgPSB0cnVlOwpAQCAtOTYsNiArOTksMTYgQEAgcGFyc2VfcHVi bGljYXRpb25fb3B0aW9ucyhQYXJzZVN0YXRlICpwc3RhdGUsCiAJcHViYWN0aW9ucy0+cHViZGVs ZXRlID0gdHJ1ZTsKIAlwdWJhY3Rpb25zLT5wdWJ0cnVuY2F0ZSA9IHRydWU7CiAJKnB1Ymxpc2hf dmlhX3BhcnRpdGlvbl9yb290ID0gZmFsc2U7CisJaWYgKGZvcl9hbGxfdGFibGVzKQorCXsKKwkJ cHViYWN0aW9ucy0+cHViZGRsX2RhdGFiYXNlID0gdHJ1ZTsKKwkJcHViYWN0aW9ucy0+cHViZGRs X3RhYmxlID0gdHJ1ZTsKKwl9CisJZWxzZQorCXsKKwkJcHViYWN0aW9ucy0+cHViZGRsX2RhdGFi YXNlID0gZmFsc2U7CisJCXB1YmFjdGlvbnMtPnB1YmRkbF90YWJsZSA9IGZhbHNlOworCX0KIAog CS8qIFBhcnNlIG9wdGlvbnMgKi8KIAlmb3JlYWNoKGxjLCBvcHRpb25zKQpAQCAtMTU0LDYgKzE2 Nyw1NSBAQCBwYXJzZV9wdWJsaWNhdGlvbl9vcHRpb25zKFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJ CSpwdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdF9naXZlbiA9IHRydWU7CiAJCQkqcHVibGlzaF92 aWFfcGFydGl0aW9uX3Jvb3QgPSBkZWZHZXRCb29sZWFuKGRlZmVsKTsKIAkJfQorCQllbHNlIGlm IChzdHJjbXAoZGVmZWwtPmRlZm5hbWUsICJkZGwiKSA9PSAwKQorCQl7CisJCQljaGFyCSAgICpk ZGxfbGV2ZWw7CisJCQlMaXN0CSAgICpkZGxfbGlzdDsKKwkJCUxpc3RDZWxsICAgKmxjOworCisJ CQlpZiAoKmRkbF9sZXZlbF9naXZlbikKKwkJCQllcnJvckNvbmZsaWN0aW5nRGVmRWxlbShkZWZl bCwgcHN0YXRlKTsKKworCQkJLyoKKwkJCSAqIElmIHB1Ymxpc2ggb3B0aW9uIHdhcyBnaXZlbiBv bmx5IHRoZSBleHBsaWNpdGx5IGxpc3RlZCBhY3Rpb25zCisJCQkgKiBzaG91bGQgYmUgcHVibGlz aGVkLgorCQkJICovCisJCQlwdWJhY3Rpb25zLT5wdWJkZGxfZGF0YWJhc2UgPSBmYWxzZTsKKwkJ CXB1YmFjdGlvbnMtPnB1YmRkbF90YWJsZSA9IGZhbHNlOworCisJCQkqZGRsX2xldmVsX2dpdmVu ID0gdHJ1ZTsKKwkJCWRkbF9sZXZlbCA9IGRlZkdldFN0cmluZyhkZWZlbCk7CisKKwkJCWlmICgh U3BsaXRJZGVudGlmaWVyU3RyaW5nKGRkbF9sZXZlbCwgJywnLCAmZGRsX2xpc3QpKQorCQkJCWVy ZXBvcnQoRVJST1IsCisJCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiksCisJCQkJ CQkgZXJybXNnKCJpbnZhbGlkIGxpc3Qgc3ludGF4IGZvciBcImRkbFwiIG9wdGlvbiIpKSk7CisK KwkJCS8qIFByb2Nlc3MgdGhlIG9wdGlvbiBsaXN0LiAqLworCQkJZm9yZWFjaChsYywgZGRsX2xp c3QpCisJCQl7CisJCQkJY2hhcgkgICAqcHVibGlzaF9vcHQgPSAoY2hhciAqKSBsZmlyc3QobGMp OworCisJCQkJaWYgKHN0cmNtcChwdWJsaXNoX29wdCwgImRhdGFiYXNlIikgPT0gMCkKKwkJCQl7 CisJCQkJCWlmICghZm9yX2FsbF90YWJsZXMpCisJCQkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJ CQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiksCisJCQkJCQkJCSBlcnJtc2coIkRETCBy ZXBsaWNhdGlvbiBvbiB0aGUgZGF0YWJhc2UgbGV2ZWwgaXMgb25seSBzdXBwb3J0ZWQgaW4gRk9S IEFMTCBUQUJMRVMgcHVibGljYXRpb24iKSkpOworCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCXB1 YmFjdGlvbnMtPnB1YmRkbF9kYXRhYmFzZSA9IHRydWU7CisJCQkJCQlwdWJhY3Rpb25zLT5wdWJk ZGxfdGFibGUgPSB0cnVlOworCQkJCQl9CisJCQkJfQorCQkJCWVsc2UgaWYgKHN0cmNtcChwdWJs aXNoX29wdCwgInRhYmxlIikgPT0gMCkKKwkJCQkJcHViYWN0aW9ucy0+cHViZGRsX3RhYmxlID0g dHJ1ZTsKKwkJCQllbHNlCisJCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkJKGVycmNvZGUoRVJS Q09ERV9TWU5UQVhfRVJST1IpLAorCQkJCQkJCSBlcnJtc2coInVucmVjb2duaXplZCBcImRkbFwi IHZhbHVlOiBcIiVzXCIiLCBwdWJsaXNoX29wdCkpKTsKKwkJCX0KKwkJfQogCQllbHNlCiAJCQll cmVwb3J0KEVSUk9SLAogCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiksCkBAIC03 NjEsNiArODIzLDcgQEAgQ3JlYXRlUHVibGljYXRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVh dGVQdWJsaWNhdGlvblN0bXQgKnN0bXQpCiAJRGF0dW0JCXZhbHVlc1tOYXR0c19wZ19wdWJsaWNh dGlvbl07CiAJSGVhcFR1cGxlCXR1cDsKIAlib29sCQlwdWJsaXNoX2dpdmVuOworCWJvb2wJCWRk bF9sZXZlbF9naXZlbjsKIAlQdWJsaWNhdGlvbkFjdGlvbnMgcHViYWN0aW9uczsKIAlib29sCQlw dWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdF9naXZlbjsKIAlib29sCQlwdWJsaXNoX3ZpYV9wYXJ0 aXRpb25fcm9vdDsKQEAgLTgwMyw5ICs4NjYsMTEgQEAgQ3JlYXRlUHVibGljYXRpb24oUGFyc2VT dGF0ZSAqcHN0YXRlLCBDcmVhdGVQdWJsaWNhdGlvblN0bXQgKnN0bXQpCiAKIAlwYXJzZV9wdWJs aWNhdGlvbl9vcHRpb25zKHBzdGF0ZSwKIAkJCQkJCQkgIHN0bXQtPm9wdGlvbnMsCisJCQkJCQkJ ICBzdG10LT5mb3JfYWxsX3RhYmxlcywKIAkJCQkJCQkgICZwdWJsaXNoX2dpdmVuLCAmcHViYWN0 aW9ucywKIAkJCQkJCQkgICZwdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdF9naXZlbiwKLQkJCQkJ CQkgICZwdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdCk7CisJCQkJCQkJICAmcHVibGlzaF92aWFf cGFydGl0aW9uX3Jvb3QsCisJCQkJCQkJICAmZGRsX2xldmVsX2dpdmVuKTsKIAogCXB1Ym9pZCA9 IEdldE5ld09pZFdpdGhJbmRleChyZWwsIFB1YmxpY2F0aW9uT2JqZWN0SW5kZXhJZCwKIAkJCQkJ CQkJQW51bV9wZ19wdWJsaWNhdGlvbl9vaWQpOwpAQCAtODIyLDYgKzg4NywxMCBAQCBDcmVhdGVQ dWJsaWNhdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVB1YmxpY2F0aW9uU3RtdCAqc3Rt dCkKIAkJQm9vbEdldERhdHVtKHB1YmFjdGlvbnMucHVidHJ1bmNhdGUpOwogCXZhbHVlc1tBbnVt X3BnX3B1YmxpY2F0aW9uX3B1YnZpYXJvb3QgLSAxXSA9CiAJCUJvb2xHZXREYXR1bShwdWJsaXNo X3ZpYV9wYXJ0aXRpb25fcm9vdCk7CisJdmFsdWVzW0FudW1fcGdfcHVibGljYXRpb25fcHViZGRs X2RhdGFiYXNlIC0gMV0gPQorCQlCb29sR2V0RGF0dW0ocHViYWN0aW9ucy5wdWJkZGxfZGF0YWJh c2UpOworCXZhbHVlc1tBbnVtX3BnX3B1YmxpY2F0aW9uX3B1YmRkbF90YWJsZSAtIDFdID0KKwkJ Qm9vbEdldERhdHVtKHB1YmFjdGlvbnMucHViZGRsX3RhYmxlKTsKIAogCXR1cCA9IGhlYXBfZm9y bV90dXBsZShSZWxhdGlvbkdldERlc2NyKHJlbCksIHZhbHVlcywgbnVsbHMpOwogCkBAIC05MDgs NiArOTc3LDcgQEAgQWx0ZXJQdWJsaWNhdGlvbk9wdGlvbnMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBB bHRlclB1YmxpY2F0aW9uU3RtdCAqc3RtdCwKIAlib29sCQlyZXBsYWNlc1tOYXR0c19wZ19wdWJs aWNhdGlvbl07CiAJRGF0dW0JCXZhbHVlc1tOYXR0c19wZ19wdWJsaWNhdGlvbl07CiAJYm9vbAkJ cHVibGlzaF9naXZlbjsKKwlib29sICAgICAgICBkZGxfbGV2ZWxfZ2l2ZW47CiAJUHVibGljYXRp b25BY3Rpb25zIHB1YmFjdGlvbnM7CiAJYm9vbAkJcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3Rf Z2l2ZW47CiAJYm9vbAkJcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3Q7CkBAIC05MTYsMTEgKzk4 NiwxNSBAQCBBbHRlclB1YmxpY2F0aW9uT3B0aW9ucyhQYXJzZVN0YXRlICpwc3RhdGUsIEFsdGVy UHVibGljYXRpb25TdG10ICpzdG10LAogCUxpc3QJICAgKnJvb3RfcmVsaWRzID0gTklMOwogCUxp c3RDZWxsICAgKmxjOwogCisJcHViZm9ybSA9IChGb3JtX3BnX3B1YmxpY2F0aW9uKSBHRVRTVFJV Q1QodHVwKTsKKwogCXBhcnNlX3B1YmxpY2F0aW9uX29wdGlvbnMocHN0YXRlLAogCQkJCQkJCSAg c3RtdC0+b3B0aW9ucywKKwkJCQkJCQkgIHB1YmZvcm0tPnB1YmFsbHRhYmxlcywKIAkJCQkJCQkg ICZwdWJsaXNoX2dpdmVuLCAmcHViYWN0aW9ucywKIAkJCQkJCQkgICZwdWJsaXNoX3ZpYV9wYXJ0 aXRpb25fcm9vdF9naXZlbiwKLQkJCQkJCQkgICZwdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdCk7 CisJCQkJCQkJICAmcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QsCisJCQkJCQkJICAmZGRsX2xl dmVsX2dpdmVuKTsKIAogCXB1YmZvcm0gPSAoRm9ybV9wZ19wdWJsaWNhdGlvbikgR0VUU1RSVUNU KHR1cCk7CiAKQEAgLTEwMjQsNiArMTA5OCwxNSBAQCBBbHRlclB1YmxpY2F0aW9uT3B0aW9ucyhQ YXJzZVN0YXRlICpwc3RhdGUsIEFsdGVyUHVibGljYXRpb25TdG10ICpzdG10LAogCQlyZXBsYWNl c1tBbnVtX3BnX3B1YmxpY2F0aW9uX3B1YnRydW5jYXRlIC0gMV0gPSB0cnVlOwogCX0KIAorCWlm IChkZGxfbGV2ZWxfZ2l2ZW4pCisJeworCQl2YWx1ZXNbQW51bV9wZ19wdWJsaWNhdGlvbl9wdWJk ZGxfZGF0YWJhc2UgLSAxXSA9IEJvb2xHZXREYXR1bShwdWJhY3Rpb25zLnB1YmRkbF9kYXRhYmFz ZSk7CisJCXJlcGxhY2VzW0FudW1fcGdfcHVibGljYXRpb25fcHViZGRsX2RhdGFiYXNlIC0gMV0g PSB0cnVlOworCisJCXZhbHVlc1tBbnVtX3BnX3B1YmxpY2F0aW9uX3B1YmRkbF90YWJsZSAtIDFd ID0gQm9vbEdldERhdHVtKHB1YmFjdGlvbnMucHViZGRsX3RhYmxlKTsKKwkJcmVwbGFjZXNbQW51 bV9wZ19wdWJsaWNhdGlvbl9wdWJkZGxfdGFibGUgLSAxXSA9IHRydWU7CisJfQorCiAJaWYgKHB1 Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290X2dpdmVuKQogCXsKIAkJdmFsdWVzW0FudW1fcGdfcHVi bGljYXRpb25fcHVidmlhcm9vdCAtIDFdID0gQm9vbEdldERhdHVtKHB1Ymxpc2hfdmlhX3BhcnRp dGlvbl9yb290KTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL3JlbGNhY2hl LmMgYi9zcmMvYmFja2VuZC91dGlscy9jYWNoZS9yZWxjYWNoZS5jCmluZGV4IDYwZTcyZjllOGIu LmRkMjM1ZDY2ZDAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL3JlbGNhY2hl LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvcmVsY2FjaGUuYwpAQCAtNTYzMyw2ICs1 NjMzLDggQEAgUmVsYXRpb25CdWlsZFB1YmxpY2F0aW9uRGVzYyhSZWxhdGlvbiByZWxhdGlvbiwg UHVibGljYXRpb25EZXNjICpwdWJkZXNjKQogCQlwdWJkZXNjLT5wdWJhY3Rpb25zLnB1YnVwZGF0 ZSB8PSBwdWJmb3JtLT5wdWJ1cGRhdGU7CiAJCXB1YmRlc2MtPnB1YmFjdGlvbnMucHViZGVsZXRl IHw9IHB1YmZvcm0tPnB1YmRlbGV0ZTsKIAkJcHViZGVzYy0+cHViYWN0aW9ucy5wdWJ0cnVuY2F0 ZSB8PSBwdWJmb3JtLT5wdWJ0cnVuY2F0ZTsKKwkJcHViZGVzYy0+cHViYWN0aW9ucy5wdWJkZGxf ZGF0YWJhc2UgfD0gcHViZm9ybS0+cHViZGRsX2RhdGFiYXNlOworCQlwdWJkZXNjLT5wdWJhY3Rp b25zLnB1YmRkbF90YWJsZSB8PSBwdWJmb3JtLT5wdWJkZGxfdGFibGU7CiAKIAkJLyoKIAkJICog Q2hlY2sgaWYgYWxsIGNvbHVtbnMgcmVmZXJlbmNlZCBpbiB0aGUgZmlsdGVyIGV4cHJlc3Npb24g YXJlIHBhcnQKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMgYi9zcmMvYmlu L3BnX2R1bXAvcGdfZHVtcC5jCmluZGV4IDdjYzljNzJlNDkuLjg4NjA1MTBhYzEgMTAwNjQ0Ci0t LSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1 bXAuYwpAQCAtMzg2OCw2ICszODY4LDggQEAgZ2V0UHVibGljYXRpb25zKEFyY2hpdmUgKmZvdXQs IGludCAqbnVtUHVibGljYXRpb25zKQogCWludAkJCWlfcHViZGVsZXRlOwogCWludAkJCWlfcHVi dHJ1bmNhdGU7CiAJaW50CQkJaV9wdWJ2aWFyb290OworCWludAkJCWlfcHViZGRsX2RhdGFiYXNl OworCWludAkJCWlfcHViZGRsX3RhYmxlOwogCWludAkJCWksCiAJCQkJbnR1cHM7CiAKQEAgLTM4 ODIsMjMgKzM4ODQsMjkgQEAgZ2V0UHVibGljYXRpb25zKEFyY2hpdmUgKmZvdXQsIGludCAqbnVt UHVibGljYXRpb25zKQogCXJlc2V0UFFFeHBCdWZmZXIocXVlcnkpOwogCiAJLyogR2V0IHRoZSBw dWJsaWNhdGlvbnMuICovCi0JaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24gPj0gMTMwMDAwKQorCWlm IChmb3V0LT5yZW1vdGVWZXJzaW9uID49IDE1MDAwMCkKKwkJYXBwZW5kUFFFeHBCdWZmZXIocXVl cnksCisJCQkJCQkgICJTRUxFQ1QgcC50YWJsZW9pZCwgcC5vaWQsIHAucHVibmFtZSwgIgorCQkJ CQkJICAicC5wdWJvd25lciwgIgorCQkJCQkJICAicC5wdWJhbGx0YWJsZXMsIHAucHViaW5zZXJ0 LCBwLnB1YnVwZGF0ZSwgcC5wdWJkZWxldGUsIHAucHVidHJ1bmNhdGUsIHAucHVidmlhcm9vdCwg cC5wdWJkZGxfZGF0YWJhc2UsIHAucHViZGRsX3RhYmxlICIKKwkJCQkJCSAgIkZST00gcGdfcHVi bGljYXRpb24gcCIpOworCWVsc2UgaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24gPj0gMTMwMDAwKQog CQlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwKIAkJCQkJCSAgIlNFTEVDVCBwLnRhYmxlb2lkLCBw Lm9pZCwgcC5wdWJuYW1lLCAiCiAJCQkJCQkgICJwLnB1Ym93bmVyLCAiCi0JCQkJCQkgICJwLnB1 YmFsbHRhYmxlcywgcC5wdWJpbnNlcnQsIHAucHVidXBkYXRlLCBwLnB1YmRlbGV0ZSwgcC5wdWJ0 cnVuY2F0ZSwgcC5wdWJ2aWFyb290ICIKKwkJCQkJCSAgInAucHViYWxsdGFibGVzLCBwLnB1Ymlu c2VydCwgcC5wdWJ1cGRhdGUsIHAucHViZGVsZXRlLCBwLnB1YnRydW5jYXRlLCBwLnB1YnZpYXJv b3QsIGZhbHNlIEFTIHB1YmRkbF9kYXRhYmFzZSwgZmFsc2UgQVMgcHViZGRsX3RhYmxlICIKIAkJ CQkJCSAgIkZST00gcGdfcHVibGljYXRpb24gcCIpOwogCWVsc2UgaWYgKGZvdXQtPnJlbW90ZVZl cnNpb24gPj0gMTEwMDAwKQogCQlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwKIAkJCQkJCSAgIlNF TEVDVCBwLnRhYmxlb2lkLCBwLm9pZCwgcC5wdWJuYW1lLCAiCiAJCQkJCQkgICJwLnB1Ym93bmVy LCAiCi0JCQkJCQkgICJwLnB1YmFsbHRhYmxlcywgcC5wdWJpbnNlcnQsIHAucHVidXBkYXRlLCBw LnB1YmRlbGV0ZSwgcC5wdWJ0cnVuY2F0ZSwgZmFsc2UgQVMgcHVidmlhcm9vdCAiCisJCQkJCQkg ICJwLnB1YmFsbHRhYmxlcywgcC5wdWJpbnNlcnQsIHAucHVidXBkYXRlLCBwLnB1YmRlbGV0ZSwg cC5wdWJ0cnVuY2F0ZSwgZmFsc2UgQVMgcHVidmlhcm9vdCwgZmFsc2UgQVMgcHViZGRsX2RhdGFi YXNlLCBmYWxzZSBBUyBwdWJkZGxfdGFibGUgIgogCQkJCQkJICAiRlJPTSBwZ19wdWJsaWNhdGlv biBwIik7CiAJZWxzZQogCQlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwKIAkJCQkJCSAgIlNFTEVD VCBwLnRhYmxlb2lkLCBwLm9pZCwgcC5wdWJuYW1lLCAiCiAJCQkJCQkgICJwLnB1Ym93bmVyLCAi Ci0JCQkJCQkgICJwLnB1YmFsbHRhYmxlcywgcC5wdWJpbnNlcnQsIHAucHVidXBkYXRlLCBwLnB1 YmRlbGV0ZSwgZmFsc2UgQVMgcHVidHJ1bmNhdGUsIGZhbHNlIEFTIHB1YnZpYXJvb3QgIgorCQkJ CQkJICAicC5wdWJhbGx0YWJsZXMsIHAucHViaW5zZXJ0LCBwLnB1YnVwZGF0ZSwgcC5wdWJkZWxl dGUsIGZhbHNlIEFTIHB1YnRydW5jYXRlLCBmYWxzZSBBUyBwdWJ2aWFyb290LCBmYWxzZSBBUyBw dWJkZGxfZGF0YWJhc2UsIGZhbHNlIEFTIHB1YmRkbF90YWJsZSAiCiAJCQkJCQkgICJGUk9NIHBn X3B1YmxpY2F0aW9uIHAiKTsKIAogCXJlcyA9IEV4ZWN1dGVTcWxRdWVyeShmb3V0LCBxdWVyeS0+ ZGF0YSwgUEdSRVNfVFVQTEVTX09LKTsKQEAgLTM5MTUsNiArMzkyMyw4IEBAIGdldFB1YmxpY2F0 aW9ucyhBcmNoaXZlICpmb3V0LCBpbnQgKm51bVB1YmxpY2F0aW9ucykKIAlpX3B1YmRlbGV0ZSA9 IFBRZm51bWJlcihyZXMsICJwdWJkZWxldGUiKTsKIAlpX3B1YnRydW5jYXRlID0gUFFmbnVtYmVy KHJlcywgInB1YnRydW5jYXRlIik7CiAJaV9wdWJ2aWFyb290ID0gUFFmbnVtYmVyKHJlcywgInB1 YnZpYXJvb3QiKTsKKwlpX3B1YmRkbF9kYXRhYmFzZSA9IFBRZm51bWJlcihyZXMsICJwdWJkZGxf ZGF0YWJhc2UiKTsKKwlpX3B1YmRkbF90YWJsZSA9IFBRZm51bWJlcihyZXMsICJwdWJkZGxfdGFi bGUiKTsKIAogCXB1YmluZm8gPSBwZ19tYWxsb2MobnR1cHMgKiBzaXplb2YoUHVibGljYXRpb25J bmZvKSk7CiAKQEAgLTM5MzksNiArMzk0OSwxMCBAQCBnZXRQdWJsaWNhdGlvbnMoQXJjaGl2ZSAq Zm91dCwgaW50ICpudW1QdWJsaWNhdGlvbnMpCiAJCQkoc3RyY21wKFBRZ2V0dmFsdWUocmVzLCBp LCBpX3B1YnRydW5jYXRlKSwgInQiKSA9PSAwKTsKIAkJcHViaW5mb1tpXS5wdWJ2aWFyb290ID0K IAkJCShzdHJjbXAoUFFnZXR2YWx1ZShyZXMsIGksIGlfcHVidmlhcm9vdCksICJ0IikgPT0gMCk7 CisJCXB1YmluZm9baV0ucHViZGRsX2RhdGFiYXNlID0KKwkJCShzdHJjbXAoUFFnZXR2YWx1ZShy ZXMsIGksIGlfcHViZGRsX2RhdGFiYXNlKSwgInQiKSA9PSAwKTsKKwkJcHViaW5mb1tpXS5wdWJk ZGxfdGFibGUgPQorCQkJKHN0cmNtcChQUWdldHZhbHVlKHJlcywgaSwgaV9wdWJkZGxfdGFibGUp LCAidCIpID09IDApOwogCiAJCS8qIERlY2lkZSB3aGV0aGVyIHdlIHdhbnQgdG8gZHVtcCBpdCAq LwogCQlzZWxlY3REdW1wYWJsZU9iamVjdCgmKHB1YmluZm9baV0uZG9iaiksIGZvdXQpOwpAQCAt NDAxOCw2ICs0MDMyLDI5IEBAIGR1bXBQdWJsaWNhdGlvbihBcmNoaXZlICpmb3V0LCBjb25zdCBQ dWJsaWNhdGlvbkluZm8gKnB1YmluZm8pCiAKIAlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwg IiciKTsKIAorCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LCAiLCBkZGwgPSAnIik7CisJZmly c3QgPSB0cnVlOworCisJaWYgKHB1YmluZm8tPnB1YmRkbF9kYXRhYmFzZSkKKwl7CisJCWlmICgh Zmlyc3QpCisJCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIiwgIik7CisKKwkJYXBwZW5k UFFFeHBCdWZmZXJTdHIocXVlcnksICJkYXRhYmFzZSIpOworCQlmaXJzdCA9IGZhbHNlOworCX0K KworCWlmIChwdWJpbmZvLT5wdWJkZGxfdGFibGUpCisJeworCQlpZiAoIWZpcnN0KQorCQkJYXBw ZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICIsICIpOworCisJCWFwcGVuZFBRRXhwQnVmZmVyU3Ry KHF1ZXJ5LCAidGFibGUiKTsKKwkJZmlyc3QgPSBmYWxzZTsKKwl9CisKKwlhcHBlbmRQUUV4cEJ1 ZmZlclN0cihxdWVyeSwgIiciKTsKKwogCWlmIChwdWJpbmZvLT5wdWJ2aWFyb290KQogCQlhcHBl bmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIiwgcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QgPSB0 cnVlIik7CiAKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmggYi9zcmMvYmlu L3BnX2R1bXAvcGdfZHVtcC5oCmluZGV4IDFkMjFjMjkwNmYuLjhjNWVmMDFjYjAgMTAwNjQ0Ci0t LSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmgKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1 bXAuaApAQCAtNjIwLDYgKzYyMCw4IEBAIHR5cGVkZWYgc3RydWN0IF9QdWJsaWNhdGlvbkluZm8K IAlib29sCQlwdWJkZWxldGU7CiAJYm9vbAkJcHVidHJ1bmNhdGU7CiAJYm9vbAkJcHVidmlhcm9v dDsKKwlib29sCQlwdWJkZGxfZGF0YWJhc2U7CisJYm9vbAkJcHViZGRsX3RhYmxlOwogfSBQdWJs aWNhdGlvbkluZm87CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdf ZHVtcC5wbCBiL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCmluZGV4IDFmMDg3MTZm NjkuLmNiZmNhYmNmYTggMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1w LnBsCisrKyBiL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCkBAIC0yNDIwLDcgKzI0 MjAsNyBAQCBteSAldGVzdHMgPSAoCiAJCWNyZWF0ZV9vcmRlciA9PiA1MCwKIAkJY3JlYXRlX3Nx bCAgID0+ICdDUkVBVEUgUFVCTElDQVRJT04gcHViMTsnLAogCQlyZWdleHAgICAgICAgPT4gcXIv XgotCQkJXFFDUkVBVEUgUFVCTElDQVRJT04gcHViMSBXSVRIIChwdWJsaXNoID0gJ2luc2VydCwg dXBkYXRlLCBkZWxldGUsIHRydW5jYXRlJyk7XEUKKwkJCVxRQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1 YjEgV0lUSCAocHVibGlzaCA9ICdpbnNlcnQsIHVwZGF0ZSwgZGVsZXRlLCB0cnVuY2F0ZScsIGRk bCA9ICcnKTtcRQogCQkJL3htLAogCQlsaWtlID0+IHsgJWZ1bGxfcnVucywgc2VjdGlvbl9wb3N0 X2RhdGEgPT4gMSwgfSwKIAl9LApAQCAtMjQyOSw5ICsyNDI5LDkgQEAgbXkgJXRlc3RzID0gKAog CQljcmVhdGVfb3JkZXIgPT4gNTAsCiAJCWNyZWF0ZV9zcWwgICA9PiAnQ1JFQVRFIFBVQkxJQ0FU SU9OIHB1YjIKIAkJCQkJCSBGT1IgQUxMIFRBQkxFUwotCQkJCQkJIFdJVEggKHB1Ymxpc2ggPSBc J1wnKTsnLAorCQkJCQkJIFdJVEggKHB1Ymxpc2ggPSBcJ1wnLCBkZGwgPSBcJ1wnKTsnLAogCQly ZWdleHAgPT4gcXIvXgotCQkJXFFDUkVBVEUgUFVCTElDQVRJT04gcHViMiBGT1IgQUxMIFRBQkxF UyBXSVRIIChwdWJsaXNoID0gJycpO1xFCisJCQlcUUNSRUFURSBQVUJMSUNBVElPTiBwdWIyIEZP UiBBTEwgVEFCTEVTIFdJVEggKHB1Ymxpc2ggPSAnJywgZGRsID0gJycpO1xFCiAJCQkveG0sCiAJ CWxpa2UgPT4geyAlZnVsbF9ydW5zLCBzZWN0aW9uX3Bvc3RfZGF0YSA9PiAxLCB9LAogCX0sCkBA IC0yNDQwLDcgKzI0NDAsNyBAQCBteSAldGVzdHMgPSAoCiAJCWNyZWF0ZV9vcmRlciA9PiA1MCwK IAkJY3JlYXRlX3NxbCAgID0+ICdDUkVBVEUgUFVCTElDQVRJT04gcHViMzsnLAogCQlyZWdleHAg ICAgICAgPT4gcXIvXgotCQkJXFFDUkVBVEUgUFVCTElDQVRJT04gcHViMyBXSVRIIChwdWJsaXNo ID0gJ2luc2VydCwgdXBkYXRlLCBkZWxldGUsIHRydW5jYXRlJyk7XEUKKwkJCVxRQ1JFQVRFIFBV QkxJQ0FUSU9OIHB1YjMgV0lUSCAocHVibGlzaCA9ICdpbnNlcnQsIHVwZGF0ZSwgZGVsZXRlLCB0 cnVuY2F0ZScsIGRkbCA9ICcnKTtcRQogCQkJL3htLAogCQlsaWtlID0+IHsgJWZ1bGxfcnVucywg c2VjdGlvbl9wb3N0X2RhdGEgPT4gMSwgfSwKIAl9LApAQCAtMjQ0OSw3ICsyNDQ5LDcgQEAgbXkg JXRlc3RzID0gKAogCQljcmVhdGVfb3JkZXIgPT4gNTAsCiAJCWNyZWF0ZV9zcWwgICA9PiAnQ1JF QVRFIFBVQkxJQ0FUSU9OIHB1YjQ7JywKIAkJcmVnZXhwICAgICAgID0+IHFyL14KLQkJCVxRQ1JF QVRFIFBVQkxJQ0FUSU9OIHB1YjQgV0lUSCAocHVibGlzaCA9ICdpbnNlcnQsIHVwZGF0ZSwgZGVs ZXRlLCB0cnVuY2F0ZScpO1xFCisJCQlcUUNSRUFURSBQVUJMSUNBVElPTiBwdWI0IFdJVEggKHB1 Ymxpc2ggPSAnaW5zZXJ0LCB1cGRhdGUsIGRlbGV0ZSwgdHJ1bmNhdGUnLCBkZGwgPSAnJyk7XEUK IAkJCS94bSwKIAkJbGlrZSA9PiB7ICVmdWxsX3J1bnMsIHNlY3Rpb25fcG9zdF9kYXRhID0+IDEs IH0sCiAJfSwKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jIGIvc3JjL2Jpbi9w c3FsL2Rlc2NyaWJlLmMKaW5kZXggMWE1ZDkyNGEyMy4uYjA3YzZiMTg0MSAxMDA2NDQKLS0tIGEv c3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMKKysrIGIvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMKQEAg LTYwNTAsNyArNjA1MCw3IEBAIGxpc3RQdWJsaWNhdGlvbnMoY29uc3QgY2hhciAqcGF0dGVybikK IAlQUUV4cEJ1ZmZlckRhdGEgYnVmOwogCVBHcmVzdWx0ICAgKnJlczsKIAlwcmludFF1ZXJ5T3B0 IG15b3B0ID0gcHNldC5wb3B0OwotCXN0YXRpYyBjb25zdCBib29sIHRyYW5zbGF0ZV9jb2x1bW5z W10gPSB7ZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZh bHNlfTsKKwlzdGF0aWMgY29uc3QgYm9vbCB0cmFuc2xhdGVfY29sdW1uc1tdID0ge2ZhbHNlLCBm YWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZh bHNlfTsKIAogCWlmIChwc2V0LnN2ZXJzaW9uIDwgMTAwMDAwKQogCXsKQEAgLTYwODUsNiArNjA4 NSwxNSBAQCBsaXN0UHVibGljYXRpb25zKGNvbnN0IGNoYXIgKnBhdHRlcm4pCiAJCWFwcGVuZFBR RXhwQnVmZmVyKCZidWYsCiAJCQkJCQkgICIsXG4gIHB1YnZpYXJvb3QgQVMgXCIlc1wiIiwKIAkJ CQkJCSAgZ2V0dGV4dF9ub29wKCJWaWEgcm9vdCIpKTsKKwlpZiAocHNldC5zdmVyc2lvbiA+PSAx NDAwMDApCisJeworCQlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVmLAorCQkJCQkJICAiLFxuICBwdWJk ZGxfZGF0YWJhc2UgQVMgXCIlc1wiIiwKKwkJCQkJCSAgZ2V0dGV4dF9ub29wKCJEYXRhYmFzZSBs ZXZlbCBERExzIikpOworCQlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVmLAorCQkJCQkJICAiLFxuICBw dWJkZGxfdGFibGUgQVMgXCIlc1wiIiwKKwkJCQkJCSAgZ2V0dGV4dF9ub29wKCJUYWJsZSBsZXZl bCBERExzIikpOworCX0KIAogCWFwcGVuZFBRRXhwQnVmZmVyU3RyKCZidWYsCiAJCQkJCQkgIlxu RlJPTSBwZ19jYXRhbG9nLnBnX3B1YmxpY2F0aW9uXG4iKTsKQEAgLTYxNzIsNiArNjE4MSw3IEBA IGRlc2NyaWJlUHVibGljYXRpb25zKGNvbnN0IGNoYXIgKnBhdHRlcm4pCiAJUEdyZXN1bHQgICAq cmVzOwogCWJvb2wJCWhhc19wdWJ0cnVuY2F0ZTsKIAlib29sCQloYXNfcHVidmlhcm9vdDsKKwli b29sCQloYXNfcHViZGRsOwogCiAJUFFFeHBCdWZmZXJEYXRhIHRpdGxlOwogCXByaW50VGFibGVD b250ZW50IGNvbnQ7CkBAIC02MTg4LDYgKzYxOTgsNyBAQCBkZXNjcmliZVB1YmxpY2F0aW9ucyhj b25zdCBjaGFyICpwYXR0ZXJuKQogCiAJaGFzX3B1YnRydW5jYXRlID0gKHBzZXQuc3ZlcnNpb24g Pj0gMTEwMDAwKTsKIAloYXNfcHVidmlhcm9vdCA9IChwc2V0LnN2ZXJzaW9uID49IDEzMDAwMCk7 CisJaGFzX3B1YmRkbCA9IChwc2V0LnN2ZXJzaW9uID49IDE1MDAwMCk7CiAKIAlpbml0UFFFeHBC dWZmZXIoJmJ1Zik7CiAKQEAgLTYyMDEsNiArNjIxMiwxMSBAQCBkZXNjcmliZVB1YmxpY2F0aW9u cyhjb25zdCBjaGFyICpwYXR0ZXJuKQogCWlmIChoYXNfcHVidmlhcm9vdCkKIAkJYXBwZW5kUFFF eHBCdWZmZXJTdHIoJmJ1ZiwKIAkJCQkJCQkgIiwgcHVidmlhcm9vdCIpOworCWlmIChoYXNfcHVi ZGRsKQorCXsKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIoJmJ1ZiwKKwkJCQkJCQkgIiwgcHViZGRs X2RhdGFiYXNlLCBwdWJkZGxfdGFibGUiKTsKKwl9CiAJYXBwZW5kUFFFeHBCdWZmZXJTdHIoJmJ1 ZiwKIAkJCQkJCSAiXG5GUk9NIHBnX2NhdGFsb2cucGdfcHVibGljYXRpb25cbiIpOwogCkBAIC02 MjQ5LDYgKzYyNjUsOCBAQCBkZXNjcmliZVB1YmxpY2F0aW9ucyhjb25zdCBjaGFyICpwYXR0ZXJu KQogCQkJbmNvbHMrKzsKIAkJaWYgKGhhc19wdWJ2aWFyb290KQogCQkJbmNvbHMrKzsKKwkJaWYg KGhhc19wdWJkZGwpCisJCQluY29scyArPSAyOwogCiAJCWluaXRQUUV4cEJ1ZmZlcigmdGl0bGUp OwogCQlwcmludGZQUUV4cEJ1ZmZlcigmdGl0bGUsIF8oIlB1YmxpY2F0aW9uICVzIiksIHB1Ym5h bWUpOwpAQCAtNjI2Myw2ICs2MjgxLDExIEBAIGRlc2NyaWJlUHVibGljYXRpb25zKGNvbnN0IGNo YXIgKnBhdHRlcm4pCiAJCQlwcmludFRhYmxlQWRkSGVhZGVyKCZjb250LCBnZXR0ZXh0X25vb3Ao IlRydW5jYXRlcyIpLCB0cnVlLCBhbGlnbik7CiAJCWlmIChoYXNfcHVidmlhcm9vdCkKIAkJCXBy aW50VGFibGVBZGRIZWFkZXIoJmNvbnQsIGdldHRleHRfbm9vcCgiVmlhIHJvb3QiKSwgdHJ1ZSwg YWxpZ24pOworCQlpZiAoaGFzX3B1YmRkbCkKKwkJeworCQkJcHJpbnRUYWJsZUFkZEhlYWRlcigm Y29udCwgZ2V0dGV4dF9ub29wKCJEYXRhYmFzZSBsZXZlbCBEREwiKSwgdHJ1ZSwgYWxpZ24pOwor CQkJcHJpbnRUYWJsZUFkZEhlYWRlcigmY29udCwgZ2V0dGV4dF9ub29wKCJUYWJsZSBsZXZlbCBE REwiKSwgdHJ1ZSwgYWxpZ24pOworCQl9CiAKIAkJcHJpbnRUYWJsZUFkZENlbGwoJmNvbnQsIFBR Z2V0dmFsdWUocmVzLCBpLCAyKSwgZmFsc2UsIGZhbHNlKTsKIAkJcHJpbnRUYWJsZUFkZENlbGwo JmNvbnQsIFBRZ2V0dmFsdWUocmVzLCBpLCAzKSwgZmFsc2UsIGZhbHNlKTsKQEAgLTYyNzMsNiAr NjI5NiwxMSBAQCBkZXNjcmliZVB1YmxpY2F0aW9ucyhjb25zdCBjaGFyICpwYXR0ZXJuKQogCQkJ cHJpbnRUYWJsZUFkZENlbGwoJmNvbnQsIFBRZ2V0dmFsdWUocmVzLCBpLCA3KSwgZmFsc2UsIGZh bHNlKTsKIAkJaWYgKGhhc19wdWJ2aWFyb290KQogCQkJcHJpbnRUYWJsZUFkZENlbGwoJmNvbnQs IFBRZ2V0dmFsdWUocmVzLCBpLCA4KSwgZmFsc2UsIGZhbHNlKTsKKwkJaWYgKGhhc19wdWJkZGwp CisJCXsKKwkJCXByaW50VGFibGVBZGRDZWxsKCZjb250LCBQUWdldHZhbHVlKHJlcywgaSwgOSks IGZhbHNlLCBmYWxzZSk7CisJCQlwcmludFRhYmxlQWRkQ2VsbCgmY29udCwgUFFnZXR2YWx1ZShy ZXMsIGksIDEwKSwgZmFsc2UsIGZhbHNlKTsKKwkJfQogCiAJCWlmICghcHViYWxsdGFibGVzKQog CQl7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmggYi9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmgKaW5kZXggNDgyMDViYTQyOS4uYTk0 ZTE1MjI1NiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5o CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHVibGljYXRpb24uaApAQCAtMjAsNiArMjAs NyBAQAogI2luY2x1ZGUgImNhdGFsb2cvZ2VuYmtpLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9vYmpl Y3RhZGRyZXNzLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19wdWJsaWNhdGlvbl9kLmgiCisjaW5j bHVkZSAidGNvcC91dGlsaXR5LmgiCiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0KICAqCQlwZ19wdWJs aWNhdGlvbiBkZWZpbml0aW9uLiAgY3BwIHR1cm5zIHRoaXMgaW50bwpAQCAtNTQsNiArNTUsMTIg QEAgQ0FUQUxPRyhwZ19wdWJsaWNhdGlvbiw2MTA0LFB1YmxpY2F0aW9uUmVsYXRpb25JZCkKIAog CS8qIHRydWUgaWYgcGFydGl0aW9uIGNoYW5nZXMgYXJlIHB1Ymxpc2hlZCB1c2luZyByb290IHNj aGVtYSAqLwogCWJvb2wJCXB1YnZpYXJvb3Q7CisKKwkvKiB0cnVlIGlmIGRhdGFiYXNlIGxldmVs IGRkbHMgYXJlIHB1Ymxpc2hlZCAqLworCWJvb2wJCXB1YmRkbF9kYXRhYmFzZTsKKworCS8qIHRy dWUgaWYgdGFibGUgbGV2ZWwgZGRscyBhcmUgcHVibGlzaGVkICovCisJYm9vbAkJcHViZGRsX3Rh YmxlOwogfSBGb3JtRGF0YV9wZ19wdWJsaWNhdGlvbjsKIAogLyogLS0tLS0tLS0tLS0tLS0tLQpA QCAtNzIsNiArNzksOCBAQCB0eXBlZGVmIHN0cnVjdCBQdWJsaWNhdGlvbkFjdGlvbnMKIAlib29s CQlwdWJ1cGRhdGU7CiAJYm9vbAkJcHViZGVsZXRlOwogCWJvb2wJCXB1YnRydW5jYXRlOworCWJv b2wJCXB1YmRkbF9kYXRhYmFzZTsKKwlib29sCQlwdWJkZGxfdGFibGU7CiB9IFB1YmxpY2F0aW9u QWN0aW9uczsKIAogdHlwZWRlZiBzdHJ1Y3QgUHVibGljYXRpb25EZXNjCkBAIC0xNTcsNSArMTY2 LDYgQEAgZXh0ZXJuIEJpdG1hcHNldCAqcHViX2NvbGxpc3RfdG9fYml0bWFwc2V0KEJpdG1hcHNl dCAqY29sdW1ucywgRGF0dW0gcHViY29scywKIAogZXh0ZXJuIE9pZAlnZXRfcHVibGljYXRpb25f b2lkKGNvbnN0IGNoYXIgKnB1Ym5hbWUsIGJvb2wgbWlzc2luZ19vayk7CiBleHRlcm4gY2hhciAq Z2V0X3B1YmxpY2F0aW9uX25hbWUoT2lkIHB1YmlkLCBib29sIG1pc3Npbmdfb2spOworZXh0ZXJu IGJvb2wgZGRsX25lZWRfeGxvZyhPaWQgcmVsaWQsIGJvb2wgZm9yQWxsVGFiUHViT25seSwgYm9v bCBpc1RvcExldmVsKTsKIAogI2VuZGlmCQkJCQkJCS8qIFBHX1BVQkxJQ0FUSU9OX0ggKi8KZGlm ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL2RlZnJlbS5oIGIvc3JjL2luY2x1ZGUvY29t bWFuZHMvZGVmcmVtLmgKaW5kZXggNTZkMmJiNjYxNi4uMDczZjQ2ZWYxYSAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvY29tbWFuZHMvZGVmcmVtLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMv ZGVmcmVtLmgKQEAgLTE1LDYgKzE1LDcgQEAKICNkZWZpbmUgREVGUkVNX0gKIAogI2luY2x1ZGUg ImNhdGFsb2cvb2JqZWN0YWRkcmVzcy5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfcHVibGljYXRp b24uaCIKICNpbmNsdWRlICJub2Rlcy9wYXJhbXMuaCIKICNpbmNsdWRlICJwYXJzZXIvcGFyc2Vf bm9kZS5oIgogI2luY2x1ZGUgInRjb3AvZGVzdC5oIgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9wdWJsaWNhdGlvbi5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3B1YmxpY2F0aW9uLm91dAppbmRleCAzOThjMGYzOGY2Li4xODBlYmQzNTllIDEwMDY0NAotLS0g YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3B1YmxpY2F0aW9uLm91dAorKysgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3B1YmxpY2F0aW9uLm91dApAQCAtMzAsMjAgKzMwLDIwIEBAIEVS Uk9SOiAgY29uZmxpY3Rpbmcgb3IgcmVkdW5kYW50IG9wdGlvbnMKIExJTkUgMTogLi4udWJfeHh4 IFdJVEggKHB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290ID0gJ3RydWUnLCBwdWJsaXNoX3ZpLi4u CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgogXGRScAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExpc3Qgb2YgcHVibGljYXRpb25zCi0gICAgICAgIE5hbWUgICAgICAgIHwgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRl cyB8IFRydW5jYXRlcyB8IFZpYSByb290IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSB0ZXN0cGliX2luc190cnVuY3QgfCByZWdyZXNz X3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IGYgICAgICAgfCBmICAg ICAgIHwgZiAgICAgICAgIHwgZgotIHRlc3RwdWJfZGVmYXVsdCAgICB8IHJlZ3Jlc3NfcHVibGlj YXRpb25fdXNlciB8IGYgICAgICAgICAgfCBmICAgICAgIHwgdCAgICAgICB8IGYgICAgICAgfCBm ICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBwdWJsaWNhdGlvbnMKKyAgICAgICAgTmFt ZSAgICAgICAgfCAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0 cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgfCBEYXRhYmFzZSBs ZXZlbCBERExzIHwgVGFibGUgbGV2ZWwgRERMcyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0KKyB0ZXN0cGliX2luc190cnVuY3QgfCByZWdyZXNzX3B1YmxpY2F0aW9u X3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IGYgICAgICAgfCBmICAgICAgIHwgZiAgICAg ICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgIHwgZgorIHRlc3RwdWJfZGVmYXVs dCAgICB8IHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCBmICAgICAgIHwg dCAgICAgICB8IGYgICAgICAgfCBmICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAg ICAgICAgfCBmCiAoMiByb3dzKQogCiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2RlZmF1bHQg U0VUIChwdWJsaXNoID0gJ2luc2VydCwgdXBkYXRlLCBkZWxldGUnKTsKIFxkUnAKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHB1YmxpY2F0aW9u cwotICAgICAgICBOYW1lICAgICAgICB8ICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0 YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9v dCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tCi0gdGVzdHBpYl9pbnNfdHJ1bmN0IHwgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAg ICAgICAgICB8IHQgICAgICAgfCBmICAgICAgIHwgZiAgICAgICB8IGYgICAgICAgICB8IGYKLSB0 ZXN0cHViX2RlZmF1bHQgICAgfCByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAg IHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICAgIHwgZgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExpc3Qgb2YgcHVibGljYXRpb25zCisgICAgICAgIE5hbWUgICAgICAgIHwgICAgICAgICAgT3du ZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8 IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMcyB8IFRhYmxlIGxldmVs IERETHMgCistLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tCisgdGVzdHBp Yl9pbnNfdHJ1bmN0IHwgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQg ICAgICAgfCBmICAgICAgIHwgZiAgICAgICB8IGYgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAg ICAgICAgICAgICAgICB8IGYKKyB0ZXN0cHViX2RlZmF1bHQgICAgfCByZWdyZXNzX3B1YmxpY2F0 aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgZiAg ICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgIHwgZgogKDIgcm93cykKIAog LS0tIGFkZGluZyB0YWJsZXMKQEAgLTg3LDEwICs4NywxMCBAQCBSRVNFVCBjbGllbnRfbWluX21l c3NhZ2VzOwogLS0gc2hvdWxkIGJlIGFibGUgdG8gYWRkIHNjaGVtYSB0byAnRk9SIFRBQkxFJyBw dWJsaWNhdGlvbgogQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3J0YWJsZSBBREQgQUxMIFRB QkxFUyBJTiBTQ0hFTUEgcHViX3Rlc3Q7CiBcZFJwKyB0ZXN0cHViX2ZvcnRhYmxlCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWJfZm9ydGFibGUKLSAg ICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMg fCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0 ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBmCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHVi X2ZvcnRhYmxlCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2Vy dHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2Ug bGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNz X3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAg ICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJs ZXM6CiAgICAgInB1YmxpYy50ZXN0cHViX3RibDEiCiBUYWJsZXMgZnJvbSBzY2hlbWFzOgpAQCAt OTksMjAgKzk5LDIwIEBAIFRhYmxlcyBmcm9tIHNjaGVtYXM6CiAtLSBzaG91bGQgYmUgYWJsZSB0 byBkcm9wIHNjaGVtYSBmcm9tICdGT1IgVEFCTEUnIHB1YmxpY2F0aW9uCiBBTFRFUiBQVUJMSUNB VElPTiB0ZXN0cHViX2ZvcnRhYmxlIERST1AgQUxMIFRBQkxFUyBJTiBTQ0hFTUEgcHViX3Rlc3Q7 CiBcZFJwKyB0ZXN0cHViX2ZvcnRhYmxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFB1YmxpY2F0aW9uIHRlc3RwdWJfZm9ydGFibGUKLSAgICAgICAgICBPd25lciAgICAgICAgICAg fCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwg VmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3Nf cHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAg ICAgfCB0ICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcnRhYmxlCisgICAgICAgICAgT3du ZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8 IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwg RERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAg ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAg ICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXM6CiAgICAgInB1YmxpYy50ZXN0cHVi X3RibDEiCiAKIC0tIHNob3VsZCBiZSBhYmxlIHRvIHNldCBzY2hlbWEgdG8gJ0ZPUiBUQUJMRScg cHVibGljYXRpb24KIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9ydGFibGUgU0VUIEFMTCBU QUJMRVMgSU4gU0NIRU1BIHB1Yl90ZXN0OwogXGRScCsgdGVzdHB1Yl9mb3J0YWJsZQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcnRhYmxlCi0g ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVz IHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0KLSByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwg dCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgZgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1 Yl9mb3J0YWJsZQorICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNl cnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNl IGxldmVsIERETCB8IFRhYmxlIGxldmVsIERETCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVz c19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAg ICAgICB8IHQgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgZgogVGFi bGVzIGZyb20gc2NoZW1hczoKICAgICAicHViX3Rlc3QiCiAKQEAgLTEzNCwxMCArMTM0LDEwIEBA IEVSUk9SOiAgcmVsYXRpb24gInRlc3RwdWJfbm9wayIgaXMgbm90IHBhcnQgb2YgdGhlIHB1Ymxp Y2F0aW9uCiAtLSBzaG91bGQgYmUgYWJsZSB0byBzZXQgdGFibGUgdG8gc2NoZW1hIHB1YmxpY2F0 aW9uCiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnNjaGVtYSBTRVQgVEFCTEUgcHViX3Rl c3QudGVzdHB1Yl9ub3BrOwogXGRScCsgdGVzdHB1Yl9mb3JzY2hlbWEKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcnNjaGVtYQotICAgICAgICAg IE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0 ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAg fCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWJfZm9yc2No ZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBV cGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwg RERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1Ymxp Y2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwg dCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXM6CiAg ICAgInB1Yl90ZXN0LnRlc3RwdWJfbm9wayIKIApAQCAtMTU5LDEwICsxNTksMTAgQEAgUHVibGlj YXRpb25zOgogICAgICJ0ZXN0cHViX2ZvcmFsbHRhYmxlcyIKIAogXGRScCsgdGVzdHB1Yl9mb3Jh bGx0YWJsZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3Rw dWJfZm9yYWxsdGFibGVzCi0gICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8 IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IAotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdyZXNzX3B1YmxpY2F0aW9uX3Vz ZXIgfCB0ICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCBmICAgICAgIHwgZiAgICAgICAg IHwgZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1 YmxpY2F0aW9uIHRlc3RwdWJfZm9yYWxsdGFibGVzCisgICAgICAgICAgT3duZXIgICAgICAgICAg IHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8 IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCB0ICAgICAgICAgIHwgdCAg ICAgICB8IHQgICAgICAgfCBmICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgfCB0ICAgICAg ICAgICAgICAgICAgfCB0CiAoMSByb3cpCiAKIERST1AgVEFCTEUgdGVzdHB1Yl90YmwyOwpAQCAt MTc0LDE5ICsxNzQsMTkgQEAgQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWIzIEZPUiBUQUJMRSB0 ZXN0cHViX3RibDM7CiBDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjQgRk9SIFRBQkxFIE9OTFkg dGVzdHB1Yl90YmwzOwogUkVTRVQgY2xpZW50X21pbl9tZXNzYWdlczsKIFxkUnArIHRlc3RwdWIz Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHVi MwotICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBk YXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAg ICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlv biB0ZXN0cHViMworICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNl cnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNl IGxldmVsIERETCB8IFRhYmxlIGxldmVsIERETCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVz c19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAg ICAgICB8IHQgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgZgogVGFi bGVzOgogICAgICJwdWJsaWMudGVzdHB1Yl90YmwzIgogICAgICJwdWJsaWMudGVzdHB1Yl90Ymwz YSIKIAogXGRScCsgdGVzdHB1YjQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFB1YmxpY2F0aW9uIHRlc3RwdWI0Ci0gICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRh YmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290 IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdyZXNzX3B1YmxpY2F0 aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAg ICAgICAgIHwgZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWI0CisgICAgICAgICAgT3duZXIgICAgICAgICAg IHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8 IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAg ICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAg ICAgICAgICAgICAgfCBmCiBUYWJsZXM6CiAgICAgInB1YmxpYy50ZXN0cHViX3RibDMiCiAKQEAg LTIwNywxMCArMjA3LDEwIEBAIFVQREFURSB0ZXN0cHViX3BhcnRlZDEgU0VUIGEgPSAxOwogLS0g b25seSBwYXJlbnQgaXMgbGlzdGVkIGFzIGJlaW5nIGluIHB1YmxpY2F0aW9uLCBub3QgdGhlIHBh cnRpdGlvbgogQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JwYXJ0ZWQgQUREIFRBQkxFIHRl c3RwdWJfcGFydGVkOwogXGRScCsgdGVzdHB1Yl9mb3JwYXJ0ZWQKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcnBhcnRlZAotICAgICAgICAgIE93 bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMg fCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0 ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWJfZm9ycGFydGVk CisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRh dGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERM IHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0 aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAg ICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXM6CiAgICAg InB1YmxpYy50ZXN0cHViX3BhcnRlZCIKIApAQCAtMjIzLDEwICsyMjMsMTAgQEAgQUxURVIgVEFC TEUgdGVzdHB1Yl9wYXJ0ZWQgREVUQUNIIFBBUlRJVElPTiB0ZXN0cHViX3BhcnRlZDE7CiBVUERB VEUgdGVzdHB1Yl9wYXJ0ZWQxIFNFVCBhID0gMTsKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJf Zm9ycGFydGVkIFNFVCAocHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QgPSB0cnVlKTsKIFxkUnAr IHRlc3RwdWJfZm9ycGFydGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGlj YXRpb24gdGVzdHB1Yl9mb3JwYXJ0ZWQKLSAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwg dGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJv b3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGlj YXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0 ICAgICAgICAgfCB0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcnBhcnRlZAorICAgICAgICAgIE93bmVyICAg ICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVu Y2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNlIGxldmVsIERETCB8IFRhYmxlIGxldmVsIERETCAK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAg ICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IHQgICAgICAgIHwg ZiAgICAgICAgICAgICAgICAgIHwgZgogVGFibGVzOgogICAgICJwdWJsaWMudGVzdHB1Yl9wYXJ0 ZWQiCiAKQEAgLTI1NSwxMCArMjU1LDEwIEBAIFNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gJ0VS Uk9SJzsKIENSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNSBGT1IgVEFCTEUgdGVzdHB1Yl9yZl90 YmwxLCB0ZXN0cHViX3JmX3RibDIgV0hFUkUgKGMgPD4gJ3Rlc3QnIEFORCBkIDwgNSkgV0lUSCAo cHVibGlzaCA9ICdpbnNlcnQnKTsKIFJFU0VUIGNsaWVudF9taW5fbWVzc2FnZXM7CiBcZFJwKyB0 ZXN0cHViNQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24g dGVzdHB1YjUKLSAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0 cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYg ICAgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICB8IGYgICAgICAgfCBmICAgICAgICAgfCBmCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVi bGljYXRpb24gdGVzdHB1YjUKKyAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVz IHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgfCBE YXRhYmFzZSBsZXZlbCBEREwgfCBUYWJsZSBsZXZlbCBEREwgCistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLQor IHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgZiAgICAg ICB8IGYgICAgICAgfCBmICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8 IGYKIFRhYmxlczoKICAgICAicHVibGljLnRlc3RwdWJfcmZfdGJsMSIKICAgICAicHVibGljLnRl c3RwdWJfcmZfdGJsMiIgV0hFUkUgKChjIDw+ICd0ZXN0Jzo6dGV4dCkgQU5EIChkIDwgNSkpCkBA IC0yNzEsMTAgKzI3MSwxMCBAQCBUYWJsZXM6CiAKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWI1 IEFERCBUQUJMRSB0ZXN0cHViX3JmX3RibDMgV0hFUkUgKGUgPiAxMDAwIEFORCBlIDwgMjAwMCk7 CiBcZFJwKyB0ZXN0cHViNQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVi bGljYXRpb24gdGVzdHB1YjUKLSAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVz IHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25f dXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICB8IGYgICAgICAgfCBmICAgICAg ICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUHVibGljYXRpb24gdGVzdHB1YjUKKyAgICAgICAgICBPd25lciAgICAgICAgICAgfCBB bGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlh IHJvb3QgfCBEYXRhYmFzZSBsZXZlbCBEREwgfCBUYWJsZSBsZXZlbCBEREwgCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLQorIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAg IHwgZiAgICAgICB8IGYgICAgICAgfCBmICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAg ICAgICAgICB8IGYKIFRhYmxlczoKICAgICAicHVibGljLnRlc3RwdWJfcmZfdGJsMSIKICAgICAi cHVibGljLnRlc3RwdWJfcmZfdGJsMiIgV0hFUkUgKChjIDw+ICd0ZXN0Jzo6dGV4dCkgQU5EIChk IDwgNSkpCkBAIC0yOTAsMTAgKzI5MCwxMCBAQCBQdWJsaWNhdGlvbnM6CiAKIEFMVEVSIFBVQkxJ Q0FUSU9OIHRlc3RwdWI1IERST1AgVEFCTEUgdGVzdHB1Yl9yZl90YmwyOwogXGRScCsgdGVzdHB1 YjUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3Rw dWI1Ci0gICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBV cGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IAotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAg ICAgIHwgdCAgICAgICB8IGYgICAgICAgfCBmICAgICAgIHwgZiAgICAgICAgIHwgZgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0 aW9uIHRlc3RwdWI1CisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IElu c2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJh c2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdy ZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IGYgICAgICAgfCBm ICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBU YWJsZXM6CiAgICAgInB1YmxpYy50ZXN0cHViX3JmX3RibDEiCiAgICAgInB1YmxpYy50ZXN0cHVi X3JmX3RibDMiIFdIRVJFICgoZSA+IDEwMDApIEFORCAoZSA8IDIwMDApKQpAQCAtMzAxLDEwICsz MDEsMTAgQEAgVGFibGVzOgogLS0gcmVtb3ZlIHRlc3RwdWJfcmZfdGJsMSBhbmQgYWRkIHRlc3Rw dWJfcmZfdGJsMyBhZ2FpbiAoYW5vdGhlciBXSEVSRSBleHByZXNzaW9uKQogQUxURVIgUFVCTElD QVRJT04gdGVzdHB1YjUgU0VUIFRBQkxFIHRlc3RwdWJfcmZfdGJsMyBXSEVSRSAoZSA+IDMwMCBB TkQgZSA8IDUwMCk7CiBcZFJwKyB0ZXN0cHViNQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjUKLSAgICAgICAgICBPd25lciAgICAgICAgICAg fCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwg VmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3Nf cHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICB8IGYgICAg ICAgfCBmICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjUKKyAgICAgICAgICBPd25lciAg ICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1 bmNhdGVzIHwgVmlhIHJvb3QgfCBEYXRhYmFzZSBsZXZlbCBEREwgfCBUYWJsZSBsZXZlbCBEREwg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAg ICAgfCB0ICAgICAgIHwgZiAgICAgICB8IGYgICAgICAgfCBmICAgICAgICAgfCBmICAgICAgICB8 IGYgICAgICAgICAgICAgICAgICB8IGYKIFRhYmxlczoKICAgICAicHVibGljLnRlc3RwdWJfcmZf dGJsMyIgV0hFUkUgKChlID4gMzAwKSBBTkQgKGUgPCA1MDApKQogCkBAIC0zMzcsMTAgKzMzNywx MCBAQCBTRVQgY2xpZW50X21pbl9tZXNzYWdlcyA9ICdFUlJPUic7CiBDUkVBVEUgUFVCTElDQVRJ T04gdGVzdHB1Yl9zeW50YXgxIEZPUiBUQUJMRSB0ZXN0cHViX3JmX3RibDEsIE9OTFkgdGVzdHB1 Yl9yZl90YmwzIFdIRVJFIChlIDwgOTk5KSBXSVRIIChwdWJsaXNoID0gJ2luc2VydCcpOwogUkVT RVQgY2xpZW50X21pbl9tZXNzYWdlczsKIFxkUnArIHRlc3RwdWJfc3ludGF4MQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX3N5bnRheDEKLSAgICAg ICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBE ZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAg ICAgIHwgZiAgICAgICB8IGYgICAgICAgfCBmICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1Yl9z eW50YXgxCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMg fCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2 ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1 YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IGYgICAgICAgfCBmICAgICAg IHwgZiAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXM6 CiAgICAgInB1YmxpYy50ZXN0cHViX3JmX3RibDEiCiAgICAgInB1YmxpYy50ZXN0cHViX3JmX3Ri bDMiIFdIRVJFIChlIDwgOTk5KQpAQCAtMzUwLDEwICszNTAsMTAgQEAgU0VUIGNsaWVudF9taW5f bWVzc2FnZXMgPSAnRVJST1InOwogQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfc3ludGF4MiBG T1IgVEFCTEUgdGVzdHB1Yl9yZl90YmwxLCB0ZXN0cHViX3JmX3NjaGVtYTEudGVzdHB1Yl9yZl90 Ymw1IFdIRVJFIChoIDwgOTk5KSBXSVRIIChwdWJsaXNoID0gJ2luc2VydCcpOwogUkVTRVQgY2xp ZW50X21pbl9tZXNzYWdlczsKIFxkUnArIHRlc3RwdWJfc3ludGF4MgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX3N5bnRheDIKLSAgICAgICAgICBP d25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVz IHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwg ZiAgICAgICB8IGYgICAgICAgfCBmICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1Yl9zeW50YXgy CisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRh dGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERM IHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0 aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IGYgICAgICAgfCBmICAgICAgIHwgZiAg ICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXM6CiAgICAg InB1YmxpYy50ZXN0cHViX3JmX3RibDEiCiAgICAgInRlc3RwdWJfcmZfc2NoZW1hMS50ZXN0cHVi X3JmX3RibDUiIFdIRVJFIChoIDwgOTk5KQpAQCAtMTAyOSwxMCArMTAyOSwxMCBAQCBFUlJPUjog IHJlbGF0aW9uICJ0ZXN0cHViX3RibDEiIGlzIGFscmVhZHkgbWVtYmVyIG9mIHB1YmxpY2F0aW9u ICJ0ZXN0cHViX2ZvcnRibAogQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9ydGJsIEZPUiBU QUJMRSB0ZXN0cHViX3RibDE7CiBFUlJPUjogIHB1YmxpY2F0aW9uICJ0ZXN0cHViX2ZvcnRibCIg YWxyZWFkeSBleGlzdHMKIFxkUnArIHRlc3RwdWJfZm9ydGJsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcnRibAotICAgICAgICAgIE93bmVy ICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBU cnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t Ci0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAg ICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcnRibAorICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8 IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNlIGxldmVsIERETCB8IFRh YmxlIGxldmVsIERETCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNhdGlvbl91 c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAg ICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgZgogVGFibGVzOgogICAgICJwdWJf dGVzdC50ZXN0cHViX25vcGsiCiAgICAgInB1YmxpYy50ZXN0cHViX3RibDEiCkBAIC0xMDcwLDEw ICsxMDcwLDEwIEBAIFB1YmxpY2F0aW9uczoKICAgICAidGVzdHB1Yl9mb3J0YmwiCiAKIFxkUnAr IHRlc3RwdWJfZGVmYXVsdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNh dGlvbiB0ZXN0cHViX2RlZmF1bHQKLSAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFi bGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3Qg Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRp b25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCBmICAg ICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUHVibGljYXRpb24gdGVzdHB1Yl9kZWZhdWx0CisgICAgICAgICAgT3duZXIgICAgICAg ICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRl cyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwg dCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgfCBmICAg ICAgICAgICAgICAgICAgfCBmCiBUYWJsZXM6CiAgICAgInB1Yl90ZXN0LnRlc3RwdWJfbm9wayIK ICAgICAicHVibGljLnRlc3RwdWJfdGJsMSIKQEAgLTExNTEsMTAgKzExNTEsMTAgQEAgUkVWT0tF IENSRUFURSBPTiBEQVRBQkFTRSByZWdyZXNzaW9uIEZST00gcmVncmVzc19wdWJsaWNhdGlvbl91 c2VyMjsKIERST1AgVEFCTEUgdGVzdHB1Yl9wYXJ0ZWQ7CiBEUk9QIFRBQkxFIHRlc3RwdWJfdGJs MTsKIFxkUnArIHRlc3RwdWJfZGVmYXVsdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQdWJsaWNhdGlvbiB0ZXN0cHViX2RlZmF1bHQKLSAgICAgICAgICBPd25lciAgICAgICAgICAg fCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwg VmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3Nf cHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAg ICAgfCBmICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1Yl9kZWZhdWx0CisgICAgICAgICAgT3du ZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8 IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwg RERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAg ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAg ICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiAoMSByb3cpCiAKIC0tIGZhaWwgLSBtdXN0IGJl IG93bmVyIG9mIHB1YmxpY2F0aW9uCkBAIC0xMTY0LDIwICsxMTY0LDIwIEBAIEVSUk9SOiAgbXVz dCBiZSBvd25lciBvZiBwdWJsaWNhdGlvbiB0ZXN0cHViX2RlZmF1bHQKIFJFU0VUIFJPTEU7CiBB TFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2RlZmF1bHQgUkVOQU1FIFRPIHRlc3RwdWJfZm9vOwog XGRScCB0ZXN0cHViX2ZvbwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExpc3Qgb2YgcHVibGljYXRpb25zCi0gICAgTmFtZSAgICAgfCAgICAgICAgICBPd25lciAg ICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1 bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0t LSstLS0tLS0tLS0tCi0gdGVzdHB1Yl9mb28gfCByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBm ICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICAgIHwgZgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTGlzdCBvZiBwdWJsaWNhdGlvbnMKKyAgICBOYW1lICAgICB8ICAgICAgICAgIE93bmVy ICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBU cnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNlIGxldmVsIERETHMgfCBUYWJsZSBsZXZlbCBE RExzIAorLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tCisgdGVzdHB1Yl9mb28gfCBy ZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAg fCB0ICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgIHwg ZgogKDEgcm93KQogCiAtLSByZW5hbWUgYmFjayB0byBrZWVwIHRoZSByZXN0IHNpbXBsZQogQUxU RVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb28gUkVOQU1FIFRPIHRlc3RwdWJfZGVmYXVsdDsKIEFM VEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZGVmYXVsdCBPV05FUiBUTyByZWdyZXNzX3B1YmxpY2F0 aW9uX3VzZXIyOwogXGRScCB0ZXN0cHViX2RlZmF1bHQKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgcHVibGljYXRpb25zCi0gICAgICBOYW1lICAg ICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwg VXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHRlc3RwdWJfZGVmYXVs dCB8IHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlcjIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQg ICAgICAgfCB0ICAgICAgIHwgZiAgICAgICAgIHwgZgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBwdWJsaWNh dGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxs IHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSBy b290IHwgRGF0YWJhc2UgbGV2ZWwgRERMcyB8IFRhYmxlIGxldmVsIERETHMgCistLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLQorIHRlc3RwdWJfZGVmYXVsdCB8IHJlZ3Jlc3Nf cHVibGljYXRpb25fdXNlcjIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAg ICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgIHwgZgogKDEg cm93KQogCiAtLSBhZGRpbmcgc2NoZW1hcyBhbmQgdGFibGVzCkBAIC0xMTkzLDE5ICsxMTkzLDE5 IEBAIENSRUFURSBUQUJMRSAiQ1VSUkVOVF9TQ0hFTUEiLiJDVVJSRU5UX1NDSEVNQSIoaWQgaW50 KTsKIFNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gJ0VSUk9SJzsKIENSRUFURSBQVUJMSUNBVElP TiB0ZXN0cHViMV9mb3JzY2hlbWEgRk9SIEFMTCBUQUJMRVMgSU4gU0NIRU1BIHB1Yl90ZXN0MTsK IFxkUnArIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFB1YmxpY2F0aW9uIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAgIE93bmVyICAgICAgICAg ICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMg fCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVz c19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAg ICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjFfZm9yc2NoZW1hCisgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRl cyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2 ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBm ICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgZiAg ICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXMgZnJvbSBzY2hlbWFzOgogICAg ICJwdWJfdGVzdDEiCiAKIENSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViMl9mb3JzY2hlbWEgRk9S IEFMTCBUQUJMRVMgSU4gU0NIRU1BIHB1Yl90ZXN0MSwgcHViX3Rlc3QyLCBwdWJfdGVzdDM7CiBc ZFJwKyB0ZXN0cHViMl9mb3JzY2hlbWEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ dWJsaWNhdGlvbiB0ZXN0cHViMl9mb3JzY2hlbWEKLSAgICAgICAgICBPd25lciAgICAgICAgICAg fCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwg VmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3Nf cHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAg ICAgfCB0ICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIyX2ZvcnNjaGVtYQorICAgICAgICAgIE93 bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMg fCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNlIGxldmVsIERETCB8IFRhYmxlIGxldmVs IERETCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAg ICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYgICAg ICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgZgogVGFibGVzIGZyb20gc2NoZW1hczoKICAgICAi cHViX3Rlc3QxIgogICAgICJwdWJfdGVzdDIiCkBAIC0xMjE5LDQ0ICsxMjE5LDQ0IEBAIENSRUFU RSBQVUJMSUNBVElPTiB0ZXN0cHViNl9mb3JzY2hlbWEgRk9SIEFMTCBUQUJMRVMgSU4gU0NIRU1B ICJDVVJSRU5UX1NDSEVNQSIsCiBDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3J0YWJsZSBG T1IgVEFCTEUgIkNVUlJFTlRfU0NIRU1BIi4iQ1VSUkVOVF9TQ0hFTUEiOwogUkVTRVQgY2xpZW50 X21pbl9tZXNzYWdlczsKIFxkUnArIHRlc3RwdWIzX2ZvcnNjaGVtYQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIzX2ZvcnNjaGVtYQotICAgICAgICAg IE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0 ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAg fCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjNfZm9yc2No ZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBV cGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwg RERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1Ymxp Y2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwg dCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXMgZnJv bSBzY2hlbWFzOgogICAgICJwdWJsaWMiCiAKIFxkUnArIHRlc3RwdWI0X2ZvcnNjaGVtYQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWI0X2ZvcnNjaGVt YQotICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBk YXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAg ICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVz dHB1YjRfZm9yc2NoZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8 IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0 YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyBy ZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAg fCB0ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBm CiBUYWJsZXMgZnJvbSBzY2hlbWFzOgogICAgICJDVVJSRU5UX1NDSEVNQSIKIAogXGRScCsgdGVz dHB1YjVfZm9yc2NoZW1hCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRp b24gdGVzdHB1YjVfZm9yc2NoZW1hCi0gICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRh YmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290 IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdyZXNzX3B1YmxpY2F0 aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAg ICAgICAgIHwgZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViNV9mb3JzY2hlbWEKKyAgICAgICAgICBPd25lciAgICAg ICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNh dGVzIHwgVmlhIHJvb3QgfCBEYXRhYmFzZSBsZXZlbCBEREwgfCBUYWJsZSBsZXZlbCBEREwgCist LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAg fCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBmICAgICAgICB8IGYg ICAgICAgICAgICAgICAgICB8IGYKIFRhYmxlcyBmcm9tIHNjaGVtYXM6CiAgICAgIkNVUlJFTlRf U0NIRU1BIgogICAgICJwdWJsaWMiCiAKIFxkUnArIHRlc3RwdWI2X2ZvcnNjaGVtYQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWI2X2ZvcnNjaGVtYQot ICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRl cyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8 IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1 YjZfZm9yc2NoZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IElu c2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJh c2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdy ZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0 ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBU YWJsZXMgZnJvbSBzY2hlbWFzOgogICAgICJDVVJSRU5UX1NDSEVNQSIKICAgICAicHVibGljIgog CiBcZFJwKyB0ZXN0cHViX2ZvcnRhYmxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFB1YmxpY2F0aW9uIHRlc3RwdWJfZm9ydGFibGUKLSAgICAgICAgICBPd25lciAgICAgICAgICAg fCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwg VmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3Nf cHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAg ICAgfCB0ICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcnRhYmxlCisgICAgICAgICAgT3du ZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8 IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwg RERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAg ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAg ICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXM6CiAgICAgIkNVUlJFTlRfU0NIRU1B LkNVUlJFTlRfU0NIRU1BIgogCkBAIC0xMjkwLDEwICsxMjkwLDEwIEBAIEVSUk9SOiAgc2NoZW1h ICJ0ZXN0cHViX3ZpZXciIGRvZXMgbm90IGV4aXN0CiAtLSBkcm9wcGluZyB0aGUgc2NoZW1hIHNo b3VsZCByZWZsZWN0IHRoZSBjaGFuZ2UgaW4gcHVibGljYXRpb24KIERST1AgU0NIRU1BIHB1Yl90 ZXN0MzsKIFxkUnArIHRlc3RwdWIyX2ZvcnNjaGVtYQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIyX2ZvcnNjaGVtYQotICAgICAgICAgIE93bmVyICAg ICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVu Y2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0g cmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAg IHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjJfZm9yc2NoZW1hCisgICAg ICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwg RGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFi bGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3Vz ZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAg IHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXMgZnJvbSBzY2hlbWFz OgogICAgICJwdWJfdGVzdDEiCiAgICAgInB1Yl90ZXN0MiIKQEAgLTEzMDEsMjAgKzEzMDEsMjAg QEAgVGFibGVzIGZyb20gc2NoZW1hczoKIC0tIHJlbmFtaW5nIHRoZSBzY2hlbWEgc2hvdWxkIHJl ZmxlY3QgdGhlIGNoYW5nZSBpbiBwdWJsaWNhdGlvbgogQUxURVIgU0NIRU1BIHB1Yl90ZXN0MSBS RU5BTUUgdG8gcHViX3Rlc3QxX3JlbmFtZWQ7CiBcZFJwKyB0ZXN0cHViMl9mb3JzY2hlbWEKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViMl9mb3JzY2hl bWEKLSAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVw ZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAg ICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBmCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRl c3RwdWIyX2ZvcnNjaGVtYQorICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMg fCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERh dGFiYXNlIGxldmVsIERETCB8IFRhYmxlIGxldmVsIERETCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisg cmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAg IHwgdCAgICAgICB8IHQgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwg ZgogVGFibGVzIGZyb20gc2NoZW1hczoKICAgICAicHViX3Rlc3QxX3JlbmFtZWQiCiAgICAgInB1 Yl90ZXN0MiIKIAogQUxURVIgU0NIRU1BIHB1Yl90ZXN0MV9yZW5hbWVkIFJFTkFNRSB0byBwdWJf dGVzdDE7CiBcZFJwKyB0ZXN0cHViMl9mb3JzY2hlbWEKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViMl9mb3JzY2hlbWEKLSAgICAgICAgICBPd25lciAg ICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1 bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQot IHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAg ICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIyX2ZvcnNjaGVtYQorICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8 IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNlIGxldmVsIERETCB8IFRh YmxlIGxldmVsIERETCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNhdGlvbl91 c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAg ICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgZgogVGFibGVzIGZyb20gc2NoZW1h czoKICAgICAicHViX3Rlc3QxIgogICAgICJwdWJfdGVzdDIiCkBAIC0xMzIyLDEwICsxMzIyLDEw IEBAIFRhYmxlcyBmcm9tIHNjaGVtYXM6CiAtLSBhbHRlciBwdWJsaWNhdGlvbiBhZGQgc2NoZW1h CiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViMV9mb3JzY2hlbWEgQUREIEFMTCBUQUJMRVMgSU4g U0NIRU1BIHB1Yl90ZXN0MjsKIFxkUnArIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAg ICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERl bGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAg ICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjFfZm9y c2NoZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMg fCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2 ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1 YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAg IHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXMg ZnJvbSBzY2hlbWFzOgogICAgICJwdWJfdGVzdDEiCiAgICAgInB1Yl90ZXN0MiIKQEAgLTEzMzQs MTAgKzEzMzQsMTAgQEAgVGFibGVzIGZyb20gc2NoZW1hczoKIEFMVEVSIFBVQkxJQ0FUSU9OIHRl c3RwdWIxX2ZvcnNjaGVtYSBBREQgQUxMIFRBQkxFUyBJTiBTQ0hFTUEgbm9uX2V4aXN0ZW50X3Nj aGVtYTsKIEVSUk9SOiAgc2NoZW1hICJub25fZXhpc3RlbnRfc2NoZW1hIiBkb2VzIG5vdCBleGlz dAogXGRScCsgdGVzdHB1YjFfZm9yc2NoZW1hCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUHVibGljYXRpb24gdGVzdHB1YjFfZm9yc2NoZW1hCi0gICAgICAgICAgT3duZXIgICAgICAg ICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRl cyB8IFZpYSByb290IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdy ZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0 ICAgICAgIHwgdCAgICAgICAgIHwgZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViMV9mb3JzY2hlbWEKKyAgICAgICAg ICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxl dGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgfCBEYXRhYmFzZSBsZXZlbCBEREwgfCBUYWJsZSBs ZXZlbCBEREwgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8 IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBm ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8IGYKIFRhYmxlcyBmcm9tIHNjaGVtYXM6CiAg ICAgInB1Yl90ZXN0MSIKICAgICAicHViX3Rlc3QyIgpAQCAtMTM0NiwxMCArMTM0NiwxMCBAQCBU YWJsZXMgZnJvbSBzY2hlbWFzOgogQUxURVIgUFVCTElDQVRJT04gdGVzdHB1YjFfZm9yc2NoZW1h IEFERCBBTEwgVEFCTEVTIElOIFNDSEVNQSBwdWJfdGVzdDE7CiBFUlJPUjogIHNjaGVtYSAicHVi X3Rlc3QxIiBpcyBhbHJlYWR5IG1lbWJlciBvZiBwdWJsaWNhdGlvbiAidGVzdHB1YjFfZm9yc2No ZW1hIgogXGRScCsgdGVzdHB1YjFfZm9yc2NoZW1hCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUHVibGljYXRpb24gdGVzdHB1YjFfZm9yc2NoZW1hCi0gICAgICAgICAgT3duZXIgICAg ICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5j YXRlcyB8IFZpYSByb290IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSBy ZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAg fCB0ICAgICAgIHwgdCAgICAgICAgIHwgZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViMV9mb3JzY2hlbWEKKyAgICAg ICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBE ZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgfCBEYXRhYmFzZSBsZXZlbCBEREwgfCBUYWJs ZSBsZXZlbCBEREwgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNl ciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAg fCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8IGYKIFRhYmxlcyBmcm9tIHNjaGVtYXM6 CiAgICAgInB1Yl90ZXN0MSIKICAgICAicHViX3Rlc3QyIgpAQCAtMTM1NywxMCArMTM1NywxMCBA QCBUYWJsZXMgZnJvbSBzY2hlbWFzOgogLS0gYWx0ZXIgcHVibGljYXRpb24gZHJvcCBzY2hlbWEK IEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWIxX2ZvcnNjaGVtYSBEUk9QIEFMTCBUQUJMRVMgSU4g U0NIRU1BIHB1Yl90ZXN0MjsKIFxkUnArIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAg ICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERl bGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAg ICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjFfZm9y c2NoZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMg fCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2 ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1 YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAg IHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXMg ZnJvbSBzY2hlbWFzOgogICAgICJwdWJfdGVzdDEiCiAKQEAgLTEzNjgsMTAgKzEzNjgsMTAgQEAg VGFibGVzIGZyb20gc2NoZW1hczoKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWIxX2ZvcnNjaGVt YSBEUk9QIEFMTCBUQUJMRVMgSU4gU0NIRU1BIHB1Yl90ZXN0MjsKIEVSUk9SOiAgdGFibGVzIGZy b20gc2NoZW1hICJwdWJfdGVzdDIiIGFyZSBub3QgcGFydCBvZiB0aGUgcHVibGljYXRpb24KIFxk UnArIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1 YmxpY2F0aW9uIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAgIE93bmVyICAgICAgICAgICB8 IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBW aWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc19w dWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAg ICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjFfZm9yc2NoZW1hCisgICAgICAgICAgT3du ZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8 IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwg RERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAg ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAg ICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXMgZnJvbSBzY2hlbWFzOgogICAgICJw dWJfdGVzdDEiCiAKQEAgLTEzNzksMjkgKzEzNzksMjkgQEAgVGFibGVzIGZyb20gc2NoZW1hczoK IEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWIxX2ZvcnNjaGVtYSBEUk9QIEFMTCBUQUJMRVMgSU4g U0NIRU1BIG5vbl9leGlzdGVudF9zY2hlbWE7CiBFUlJPUjogIHNjaGVtYSAibm9uX2V4aXN0ZW50 X3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKIFxkUnArIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIxX2ZvcnNjaGVtYQot ICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRl cyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8 IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1 YjFfZm9yc2NoZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IElu c2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJh c2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdy ZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0 ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBU YWJsZXMgZnJvbSBzY2hlbWFzOgogICAgICJwdWJfdGVzdDEiCiAKIC0tIGRyb3AgYWxsIHNjaGVt YXMKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWIxX2ZvcnNjaGVtYSBEUk9QIEFMTCBUQUJMRVMg SU4gU0NIRU1BIHB1Yl90ZXN0MTsKIFxkUnArIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8 IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0t LSstLS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQg ICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjFf Zm9yc2NoZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2Vy dHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2Ug bGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNz X3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAg ICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiAoMSBy b3cpCiAKIC0tIGFsdGVyIHB1YmxpY2F0aW9uIHNldCBtdWx0aXBsZSBzY2hlbWEKIEFMVEVSIFBV QkxJQ0FUSU9OIHRlc3RwdWIxX2ZvcnNjaGVtYSBTRVQgQUxMIFRBQkxFUyBJTiBTQ0hFTUEgcHVi X3Rlc3QxLCBwdWJfdGVzdDI7CiBcZFJwKyB0ZXN0cHViMV9mb3JzY2hlbWEKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViMV9mb3JzY2hlbWEKLSAgICAg ICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBE ZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAg ICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIxX2Zv cnNjaGVtYQorICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRz IHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNlIGxl dmVsIERETCB8IFRhYmxlIGxldmVsIERETCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19w dWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAg ICB8IHQgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgZgogVGFibGVz IGZyb20gc2NoZW1hczoKICAgICAicHViX3Rlc3QxIgogICAgICJwdWJfdGVzdDIiCkBAIC0xNDEw LDEwICsxNDEwLDEwIEBAIFRhYmxlcyBmcm9tIHNjaGVtYXM6CiBBTFRFUiBQVUJMSUNBVElPTiB0 ZXN0cHViMV9mb3JzY2hlbWEgU0VUIEFMTCBUQUJMRVMgSU4gU0NIRU1BIG5vbl9leGlzdGVudF9z Y2hlbWE7CiBFUlJPUjogIHNjaGVtYSAibm9uX2V4aXN0ZW50X3NjaGVtYSIgZG9lcyBub3QgZXhp c3QKIFxkUnArIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAgIE93bmVyICAgICAg ICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0 ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0gcmVn cmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwg dCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjFfZm9yc2NoZW1hCisgICAgICAg ICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVs ZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUg bGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIg fCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwg ZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXMgZnJvbSBzY2hlbWFzOgog ICAgICJwdWJfdGVzdDEiCiAgICAgInB1Yl90ZXN0MiIKQEAgLTE0MjIsMTAgKzE0MjIsMTAgQEAg VGFibGVzIGZyb20gc2NoZW1hczoKIC0tIHJlbW92aW5nIHRoZSBkdXBsaWNhdGUgc2NoZW1hcwog QUxURVIgUFVCTElDQVRJT04gdGVzdHB1YjFfZm9yc2NoZW1hIFNFVCBBTEwgVEFCTEVTIElOIFND SEVNQSBwdWJfdGVzdDEsIHB1Yl90ZXN0MTsKIFxkUnArIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIxX2ZvcnNjaGVt YQotICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBk YXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAg ICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVz dHB1YjFfZm9yc2NoZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8 IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0 YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyBy ZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAg fCB0ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBm CiBUYWJsZXMgZnJvbSBzY2hlbWFzOgogICAgICJwdWJfdGVzdDEiCiAKQEAgLTE1MDQsMTggKzE1 MDQsMTggQEAgU0VUIGNsaWVudF9taW5fbWVzc2FnZXMgPSAnRVJST1InOwogQ1JFQVRFIFBVQkxJ Q0FUSU9OIHRlc3RwdWIzX2ZvcnNjaGVtYTsKIFJFU0VUIGNsaWVudF9taW5fbWVzc2FnZXM7CiBc ZFJwKyB0ZXN0cHViM19mb3JzY2hlbWEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ dWJsaWNhdGlvbiB0ZXN0cHViM19mb3JzY2hlbWEKLSAgICAgICAgICBPd25lciAgICAgICAgICAg fCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwg VmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3Nf cHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAg ICAgfCB0ICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIzX2ZvcnNjaGVtYQorICAgICAgICAgIE93 bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMg fCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNlIGxldmVsIERETCB8IFRhYmxlIGxldmVs IERETCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAg ICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYgICAg ICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgZgogKDEgcm93KQogCiBBTFRFUiBQVUJMSUNBVElP TiB0ZXN0cHViM19mb3JzY2hlbWEgU0VUIEFMTCBUQUJMRVMgSU4gU0NIRU1BIHB1Yl90ZXN0MTsK IFxkUnArIHRlc3RwdWIzX2ZvcnNjaGVtYQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFB1YmxpY2F0aW9uIHRlc3RwdWIzX2ZvcnNjaGVtYQotICAgICAgICAgIE93bmVyICAgICAgICAg ICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMg fCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVz c19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAg ICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjNfZm9yc2NoZW1hCisgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRl cyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2 ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBm ICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgZiAg ICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXMgZnJvbSBzY2hlbWFzOgogICAg ICJwdWJfdGVzdDEiCiAKQEAgLTE1MjUsMjAgKzE1MjUsMjAgQEAgQ1JFQVRFIFBVQkxJQ0FUSU9O IHRlc3RwdWJfZm9yc2NoZW1hX2ZvcnRhYmxlIEZPUiBBTEwgVEFCTEVTIElOIFNDSEVNQSBwdWJf dGVzdDEKIENSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnRhYmxlX2ZvcnNjaGVtYSBGT1Ig VEFCTEUgcHViX3Rlc3QyLnRibDEsIEFMTCBUQUJMRVMgSU4gU0NIRU1BIHB1Yl90ZXN0MTsKIFJF U0VUIGNsaWVudF9taW5fbWVzc2FnZXM7CiBcZFJwKyB0ZXN0cHViX2ZvcnNjaGVtYV9mb3J0YWJs ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1Yl9mb3JzY2hl bWFfZm9ydGFibGUKLSAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5z ZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8 IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBm CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRp b24gdGVzdHB1Yl9mb3JzY2hlbWFfZm9ydGFibGUKKyAgICAgICAgICBPd25lciAgICAgICAgICAg fCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwg VmlhIHJvb3QgfCBEYXRhYmFzZSBsZXZlbCBEREwgfCBUYWJsZSBsZXZlbCBEREwgCistLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLQorIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAg ICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAg ICAgICAgICAgICB8IGYKIFRhYmxlczoKICAgICAicHViX3Rlc3QyLnRibDEiCiBUYWJsZXMgZnJv bSBzY2hlbWFzOgogICAgICJwdWJfdGVzdDEiCiAKIFxkUnArIHRlc3RwdWJfZm9ydGFibGVfZm9y c2NoZW1hCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2Zv cnRhYmxlX2ZvcnNjaGVtYQotICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMg fCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91 c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAg ICB8IGYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJs aWNhdGlvbiB0ZXN0cHViX2ZvcnRhYmxlX2ZvcnNjaGVtYQorICAgICAgICAgIE93bmVyICAgICAg ICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0 ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNlIGxldmVsIERETCB8IFRhYmxlIGxldmVsIERETCAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8 IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYgICAgICAgIHwgZiAg ICAgICAgICAgICAgICAgIHwgZgogVGFibGVzOgogICAgICJwdWJfdGVzdDIudGJsMSIKIFRhYmxl cyBmcm9tIHNjaGVtYXM6Ci0tIAoyLjMyLjAKCg== --0000000000008260cd05deeafb8c Content-Type: application/octet-stream; name="0007-Enable-logging-and-replication-of-DDLs-executed-insi.patch" Content-Disposition: attachment; filename="0007-Enable-logging-and-replication-of-DDLs-executed-insi.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l34xb8t76 RnJvbSA0MDQwZGM0Mzc4ZWM1MjBiOTY0MTU1N2VhMDNhZjM0MDFiZTQwM2QxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IEZyaSwgMTUgQXByIDIwMjIgMDI6MDI6MTAgKzAwMDAKU3ViamVjdDogW1BBVENIIDA3 LzEwXSBFbmFibGUgbG9nZ2luZyBhbmQgcmVwbGljYXRpb24gb2YgRERMcyBleGVjdXRlZCBpbnNp ZGUKIGZ1bmN0aW9uIGFuZCBwcm9jZWR1cmVzLiBBbHNvIGZpeGVkIGEgYnVnIHdoZXJlIERETCB3 aXRoIFNVQkNPTU1BTkQgZ2V0cwogbG9nZ2VkIHR3aWNlLgoKLS0tCiAuLi4vdGVzdF9kZWNvZGlu Zy9leHBlY3RlZC9kZGxtZXNzYWdlcy5vdXQgICAgfCA0NyArKysrKysrKysrKysrKysrKy0tCiBj b250cmliL3Rlc3RfZGVjb2Rpbmcvc3FsL2RkbG1lc3NhZ2VzLnNxbCAgICAgfCAxOSArKysrKysr LQogc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jICAgICAgICAgIHwgIDUgKy0K IHNyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jICAgICAgICAgICAgICB8ICA2ICstLQog c3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMgICAgICAgICAgICAgICAgICAgIHwgMjYgKysrKyst LS0tLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5oICAgICAgICAgIHwgIDIg Ky0KIHNyYy9pbmNsdWRlL2NvbW1hbmRzL3RhYmxlY21kcy5oICAgICAgICAgICAgICB8ICAzICst CiBzcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzBfcmVwX2RkbHMucGwgICAgICAgfCAzOCArKysr KysrKysrKysrKysKIDggZmlsZXMgY2hhbmdlZCwgMTIxIGluc2VydGlvbnMoKyksIDI1IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9leHBlY3RlZC9kZGxt ZXNzYWdlcy5vdXQgYi9jb250cmliL3Rlc3RfZGVjb2RpbmcvZXhwZWN0ZWQvZGRsbWVzc2FnZXMu b3V0CmluZGV4IDAzNzZmMzZjMjQuLjgyMzAyOWQwM2QgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvdGVz dF9kZWNvZGluZy9leHBlY3RlZC9kZGxtZXNzYWdlcy5vdXQKKysrIGIvY29udHJpYi90ZXN0X2Rl Y29kaW5nL2V4cGVjdGVkL2RkbG1lc3NhZ2VzLm91dApAQCAtMTEsNyArMTEsNyBAQCBTRUxFQ1Qg J2luaXQnIEZST00gcGdfY3JlYXRlX2xvZ2ljYWxfcmVwbGljYXRpb25fc2xvdCgncmVncmVzc2lv bl9zbG90JywgJ3Rlc3RfZAogIGluaXQKICgxIHJvdykKIAotQ1JFQVRFIFRBQkxFIHRlc3RfZGRs bWVzc2FnZSAoaWQgc2VyaWFsIHVuaXF1ZSwgZGF0YSBpbnQpOworQ1JFQVRFIFRBQkxFIHRlc3Rf ZGRsbWVzc2FnZSAoaWQgc2VyaWFsIHVuaXF1ZSBwcmltYXJ5IGtleSwgZGF0YSBpbnQpOwogQUxU RVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGFkZCBjMyB2YXJjaGFyOwogQUxURVIgVEFCTEUgdGVz dF9kZGxtZXNzYWdlIGRyb3AgYzM7CiBEUk9QIFRBQkxFIHRlc3RfZGRsbWVzc2FnZTsKQEAgLTI0 LDkgKzI0LDkgQEAgQ1JFQVRFIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSAoaWQgc2VyaWFsIHVuaXF1 ZSwgZGF0YSBpbnQpOwogQUxURVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGFkZCBjMyB2YXJjaGFy OwogQ09NTUlUOwogU0VMRUNUIGRhdGEgRlJPTSBwZ19sb2dpY2FsX3Nsb3RfZ2V0X2NoYW5nZXMo J3JlZ3Jlc3Npb25fc2xvdCcsIE5VTEwsIE5VTEwsICdpbmNsdWRlLXhpZHMnLCAnMCcsICdza2lw LWVtcHR5LXhhY3RzJywgJzEnKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBEREwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDog MSBwcmVmaXg6ICByb2xlOiBkZGxfcmVwbGljYXRpb25fdXNlciwgc2VhcmNoX3BhdGg6ICIkdXNl ciIsIHB1YmxpYywgc3o6IDU4IGNvbnRlbnQ6Q1JFQVRFIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSAo aWQgc2VyaWFsIHVuaXF1ZSwgZGF0YSBpbnQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorIERETCBtZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAxIHByZWZpeDogIHJvbGU6IGRkbF9yZXBs aWNhdGlvbl91c2VyLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwgcHVibGljLCBzejogNzAgY29udGVu dDpDUkVBVEUgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIChpZCBzZXJpYWwgdW5pcXVlIHByaW1hcnkg a2V5LCBkYXRhIGludCk7CiAgRERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9uYWw6IDEgcHJlZml4OiAg cm9sZTogZGRsX3JlcGxpY2F0aW9uX3VzZXIsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMs IHN6OiA0MyBjb250ZW50OkFMVEVSIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSBhZGQgYzMgdmFyY2hh cjsKICBEREwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xlOiBkZGxfcmVw bGljYXRpb25fdXNlciwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywgc3o6IDM2IGNvbnRl bnQ6QUxURVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGRyb3AgYzM7CiAgRERMIG1lc3NhZ2U6IHRy YW5zYWN0aW9uYWw6IDEgcHJlZml4OiAgcm9sZTogZGRsX3JlcGxpY2F0aW9uX3VzZXIsIHNlYXJj aF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiAyNyBjb250ZW50OkRST1AgVEFCTEUgdGVzdF9k ZGxtZXNzYWdlOwpAQCAtMzQsNiArMzQsNDQgQEAgU0VMRUNUIGRhdGEgRlJPTSBwZ19sb2dpY2Fs X3Nsb3RfZ2V0X2NoYW5nZXMoJ3JlZ3Jlc3Npb25fc2xvdCcsIE5VTEwsIE5VTEwsICdpbmMKICBE REwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xlOiBkZGxfcmVwbGljYXRp b25fdXNlciwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywgc3o6IDQzIGNvbnRlbnQ6QUxU RVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGFkZCBjMyB2YXJjaGFyOwogKDYgcm93cykKIAorLS0g VGVzdCBsb2dnaW5nIERETCBpbiBmdW5jdGlvbgorQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04g ZnVuY19kZGwgKHRuYW1lIHZhcmNoYXIoMjApKQorUkVUVVJOUyBWT0lEIEFTICQkCitCRUdJTgor ICAgIGV4ZWN1dGUgZm9ybWF0KCdDUkVBVEUgVEFCTEUgJUkoaWQgaW50IHByaW1hcnkga2V5LCBu YW1lIHZhcmNoYXIpOycsIHRuYW1lKTsKKyAgICBleGVjdXRlIGZvcm1hdCgnQUxURVIgVEFCTEUg JUkgQUREIGMzIGludCcsIHRuYW1lKTsKKyAgICBleGVjdXRlIGZvcm1hdCgnSU5TRVJUIElOVE8g JUkgVkFMVUVTICgxLCAnJ2EnJyk7JywgdG5hbWUpOworICAgIGV4ZWN1dGUgZm9ybWF0KCdJTlNF UlQgSU5UTyAlSSBWQUxVRVMgKDIsICcnYicnLCAyMik7JywgdG5hbWUpOworRU5EOworJCQKK0xB TkdVQUdFIHBscGdzcWw7CitTRUxFQ1QgZnVuY19kZGwgKCd0YWJfZnJvbV9mdW5jJyk7CisgZnVu Y19kZGwgCistLS0tLS0tLS0tCisgCisoMSByb3cpCisKK1NFTEVDVCBkYXRhIEZST00gcGdfbG9n aWNhbF9zbG90X2dldF9jaGFuZ2VzKCdyZWdyZXNzaW9uX3Nsb3QnLCBOVUxMLCBOVUxMLCAnaW5j bHVkZS14aWRzJywgJzAnLCAnc2tpcC1lbXB0eS14YWN0cycsICcxJyk7CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg RERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9uYWw6IDEgcHJlZml4OiAgcm9sZTogZGRsX3JlcGxpY2F0 aW9uX3VzZXIsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiAzNzUgY29udGVudDpD UkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiBmdW5jX2RkbCAodG5hbWUgdmFyY2hhcigyMCkpICAg ICArCisgUkVUVVJOUyBWT0lEIEFTICQkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICArCisgQkVHSU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICArCisgICAgIGV4ZWN1dGUgZm9ybWF0KCdDUkVBVEUgVEFCTEUgJUkoaWQg aW50IHByaW1hcnkga2V5LCBuYW1lIHZhcmNoYXIpOycsIHRuYW1lKTsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICArCisgICAgIGV4ZWN1dGUgZm9ybWF0KCdBTFRFUiBUQUJMRSAl SSBBREQgYzMgaW50JywgdG5hbWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICArCisgICAgIGV4ZWN1dGUgZm9ybWF0KCdJTlNFUlQg SU5UTyAlSSBWQUxVRVMgKDEsICcnYScnKTsnLCB0bmFtZSk7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgICAgIGV4ZWN1dGUgZm9ybWF0KCdJ TlNFUlQgSU5UTyAlSSBWQUxVRVMgKDIsICcnYicnLCAyMik7JywgdG5hbWUpOyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgRU5EOyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgJCQgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgTEFO R1VBR0UgcGxwZ3NxbDsKKyBEREwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICBy b2xlOiBkZGxfcmVwbGljYXRpb25fdXNlciwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywg c3o6IDYxIGNvbnRlbnQ6Q1JFQVRFIFRBQkxFIHRhYl9mcm9tX2Z1bmMoaWQgaW50IHByaW1hcnkg a2V5LCBuYW1lIHZhcmNoYXIpOworIERETCBtZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAxIHByZWZp eDogIHJvbGU6IGRkbF9yZXBsaWNhdGlvbl91c2VyLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwgcHVi bGljLCBzejogMzYgY29udGVudDpBTFRFUiBUQUJMRSB0YWJfZnJvbV9mdW5jIEFERCBjMyBpbnQK KyBCRUdJTgorIHRhYmxlIHB1YmxpYy50YWJfZnJvbV9mdW5jOiBJTlNFUlQ6IGlkW2ludGVnZXJd OjEgbmFtZVtjaGFyYWN0ZXIgdmFyeWluZ106J2EnIGMzW2ludGVnZXJdOm51bGwKKyB0YWJsZSBw dWJsaWMudGFiX2Zyb21fZnVuYzogSU5TRVJUOiBpZFtpbnRlZ2VyXToyIG5hbWVbY2hhcmFjdGVy IHZhcnlpbmddOidiJyBjM1tpbnRlZ2VyXToyMgorIENPTU1JVAorKDcgcm93cykKKwogU0VMRUNU IHBnX2Ryb3BfcmVwbGljYXRpb25fc2xvdCgncmVncmVzc2lvbl9zbG90Jyk7CiAgcGdfZHJvcF9y ZXBsaWNhdGlvbl9zbG90IAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTQxLDQgKzc5 LDUgQEAgU0VMRUNUIHBnX2Ryb3BfcmVwbGljYXRpb25fc2xvdCgncmVncmVzc2lvbl9zbG90Jyk7 CiAoMSByb3cpCiAKIERST1AgVEFCTEUgdGVzdF9kZGxtZXNzYWdlOworRFJPUCBUQUJMRSB0YWJf ZnJvbV9mdW5jOwogRFJPUCBwdWJsaWNhdGlvbiBteXB1YjsKZGlmZiAtLWdpdCBhL2NvbnRyaWIv dGVzdF9kZWNvZGluZy9zcWwvZGRsbWVzc2FnZXMuc3FsIGIvY29udHJpYi90ZXN0X2RlY29kaW5n L3NxbC9kZGxtZXNzYWdlcy5zcWwKaW5kZXggYzIzNjEwZjliNC4uMzA4MjY3MTQ4OCAxMDA2NDQK LS0tIGEvY29udHJpYi90ZXN0X2RlY29kaW5nL3NxbC9kZGxtZXNzYWdlcy5zcWwKKysrIGIvY29u dHJpYi90ZXN0X2RlY29kaW5nL3NxbC9kZGxtZXNzYWdlcy5zcWwKQEAgLTksNyArOSw3IEBAIFNF VCBTRVNTSU9OIEFVVEhPUklaQVRJT04gJ2RkbF9yZXBsaWNhdGlvbl91c2VyJzsKIAogU0VMRUNU ICdpbml0JyBGUk9NIHBnX2NyZWF0ZV9sb2dpY2FsX3JlcGxpY2F0aW9uX3Nsb3QoJ3JlZ3Jlc3Np b25fc2xvdCcsICd0ZXN0X2RlY29kaW5nJyk7CiAKLUNSRUFURSBUQUJMRSB0ZXN0X2RkbG1lc3Nh Z2UgKGlkIHNlcmlhbCB1bmlxdWUsIGRhdGEgaW50KTsKK0NSRUFURSBUQUJMRSB0ZXN0X2RkbG1l c3NhZ2UgKGlkIHNlcmlhbCB1bmlxdWUgcHJpbWFyeSBrZXksIGRhdGEgaW50KTsKIEFMVEVSIFRB QkxFIHRlc3RfZGRsbWVzc2FnZSBhZGQgYzMgdmFyY2hhcjsKIEFMVEVSIFRBQkxFIHRlc3RfZGRs bWVzc2FnZSBkcm9wIGMzOwogRFJPUCBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2U7CkBAIC0yNSw3ICsy NSwyNCBAQCBBTFRFUiBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2UgYWRkIGMzIHZhcmNoYXI7CiBDT01N SVQ7CiAKIFNFTEVDVCBkYXRhIEZST00gcGdfbG9naWNhbF9zbG90X2dldF9jaGFuZ2VzKCdyZWdy ZXNzaW9uX3Nsb3QnLCBOVUxMLCBOVUxMLCAnaW5jbHVkZS14aWRzJywgJzAnLCAnc2tpcC1lbXB0 eS14YWN0cycsICcxJyk7CisKKy0tIFRlc3QgbG9nZ2luZyBEREwgaW4gZnVuY3Rpb24KK0NSRUFU RSBPUiBSRVBMQUNFIEZVTkNUSU9OIGZ1bmNfZGRsICh0bmFtZSB2YXJjaGFyKDIwKSkKK1JFVFVS TlMgVk9JRCBBUyAkJAorQkVHSU4KKyAgICBleGVjdXRlIGZvcm1hdCgnQ1JFQVRFIFRBQkxFICVJ KGlkIGludCBwcmltYXJ5IGtleSwgbmFtZSB2YXJjaGFyKTsnLCB0bmFtZSk7CisgICAgZXhlY3V0 ZSBmb3JtYXQoJ0FMVEVSIFRBQkxFICVJIEFERCBjMyBpbnQnLCB0bmFtZSk7CisgICAgZXhlY3V0 ZSBmb3JtYXQoJ0lOU0VSVCBJTlRPICVJIFZBTFVFUyAoMSwgJydhJycpOycsIHRuYW1lKTsKKyAg ICBleGVjdXRlIGZvcm1hdCgnSU5TRVJUIElOVE8gJUkgVkFMVUVTICgyLCAnJ2InJywgMjIpOycs IHRuYW1lKTsKK0VORDsKKyQkCitMQU5HVUFHRSBwbHBnc3FsOworCitTRUxFQ1QgZnVuY19kZGwg KCd0YWJfZnJvbV9mdW5jJyk7CitTRUxFQ1QgZGF0YSBGUk9NIHBnX2xvZ2ljYWxfc2xvdF9nZXRf Y2hhbmdlcygncmVncmVzc2lvbl9zbG90JywgTlVMTCwgTlVMTCwgJ2luY2x1ZGUteGlkcycsICcw JywgJ3NraXAtZW1wdHkteGFjdHMnLCAnMScpOworCiBTRUxFQ1QgcGdfZHJvcF9yZXBsaWNhdGlv bl9zbG90KCdyZWdyZXNzaW9uX3Nsb3QnKTsKIERST1AgVEFCTEUgdGVzdF9kZGxtZXNzYWdlOwor RFJPUCBUQUJMRSB0YWJfZnJvbV9mdW5jOwogRFJPUCBwdWJsaWNhdGlvbiBteXB1YjsKIApkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jIGIvc3JjL2JhY2tl bmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jCmluZGV4IDkyZDI3NjNlODMuLmI2ZmIwZDJjMzUg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYworKysgYi9z cmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMKQEAgLTExNjEsMTUgKzExNjEsMTIg QEAgcGdfZ2V0X3B1YmxpY2F0aW9uX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQogICogQ2hlY2tz IGlmIERETCBvbiByZWxhdGlvbiAocmVsaWQpIG5lZWQgeGxvZyBmb3IgbG9naWNhbCByZXBsaWNh dGlvbgogICovCiBib29sCi1kZGxfbmVlZF94bG9nKE9pZCByZWxpZCwgYm9vbCBmb3JBbGxUYWJQ dWJPbmx5LCBib29sIGlzVG9wTGV2ZWwpCitkZGxfbmVlZF94bG9nKE9pZCByZWxpZCwgYm9vbCBm b3JBbGxUYWJQdWJPbmx5KQogewogCUxpc3QgKmFsbFRhYmxlUHVicyA9IE5JTDsKIAlMaXN0ICp0 YWJsZVB1YnMgPSBOSUw7CiAJTGlzdENlbGwgKmxjOwogCi0JLyogT25seSByZXBsaWNhdGUgdG9w bGV2ZWwgRERMIGNvbW1hbmQgKi8KLQlpZiAoIWlzVG9wTGV2ZWwpCi0JCXJldHVybiBmYWxzZTsK IAlpZiAocmVsaWQgPT0gSW52YWxpZE9pZCAmJiAhZm9yQWxsVGFiUHViT25seSkKIAkJcmV0dXJu IGZhbHNlOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyBi L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCmluZGV4IDZkMTQ4Nzk1MWYuLjNjOWI2 NDA5Y2EgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCisrKyBi L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC0xMzMzLDE0ICsxMzMzLDE0IEBA IERyb3BFcnJvck1zZ1dyb25nVHlwZShjb25zdCBjaGFyICpyZWxuYW1lLCBjaGFyIHdyb25na2lu ZCwgY2hhciByaWdodGtpbmQpCiAgKgkJRFJPUCBNQVRFUklBTElaRUQgVklFVywgRFJPUCBGT1JF SUdOIFRBQkxFCiAgKi8KIHZvaWQKLVJlbW92ZVJlbGF0aW9ucyhQYXJzZVN0YXRlICpwc3RhdGUs IERyb3BTdG10ICpkcm9wLCBib29sIGlzVG9wTGV2ZWwpCitSZW1vdmVSZWxhdGlvbnMoUGFyc2VT dGF0ZSAqcHN0YXRlLCBEcm9wU3RtdCAqZHJvcCwgYm9vbCBpc0NvbXBsZXRlUXVlcnkpCiB7CiAJ T2JqZWN0QWRkcmVzc2VzICpvYmplY3RzOwogCWNoYXIJCXJlbGtpbmQ7CiAJTGlzdENlbGwgICAq Y2VsbDsKIAlpbnQJCQlmbGFncyA9IDA7CiAJTE9DS01PREUJbG9ja21vZGUgPSBBY2Nlc3NFeGNs dXNpdmVMb2NrOwotCWJvb2wJCWRkbHhsb2cgPSBYTG9nTG9naWNhbEluZm9BY3RpdmUoKTsKKwli b29sCQlkZGx4bG9nID0gWExvZ0xvZ2ljYWxJbmZvQWN0aXZlKCkgJiYgaXNDb21wbGV0ZVF1ZXJ5 OwogCiAJLyogRFJPUCBDT05DVVJSRU5UTFkgdXNlcyBhIHdlYWtlciBsb2NrLCBhbmQgaGFzIHNv bWUgcmVzdHJpY3Rpb25zICovCiAJaWYgKGRyb3AtPmNvbmN1cnJlbnQpCkBAIC0xNDY2LDcgKzE0 NjYsNyBAQCBSZW1vdmVSZWxhdGlvbnMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBEcm9wU3RtdCAqZHJv cCwgYm9vbCBpc1RvcExldmVsKQogCiAJCQkvKiBEUk9QIFJFTEFUSU9OIG9yIElOREVYIGFyZSBh bGxvd2VkIGluIHRhYmxlIGxldmVsIERETCByZXBsaWNhdGlvbiAqLwogCQkJaWYgKHRhYmxlT2lk ICE9IEludmFsaWRPaWQgJiYKLQkJCQkhZGRsX25lZWRfeGxvZyh0YWJsZU9pZCwgZmFsc2UsIGlz VG9wTGV2ZWwpKQorCQkJCSFkZGxfbmVlZF94bG9nKHRhYmxlT2lkLCBmYWxzZSkpCiAJCQkJZGRs eGxvZyA9IGZhbHNlOwogCQl9CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0 eS5jIGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKaW5kZXggMzRjN2RiOGNjOS4uMmQ2YjIw M2FjMyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKKysrIGIvc3JjL2Jh Y2tlbmQvdGNvcC91dGlsaXR5LmMKQEAgLTg3LDcgKzg3LDggQEAgc3RhdGljIHZvaWQgUHJvY2Vz c1V0aWxpdHlTbG93KFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJCQkJCQkgICBRdWVyeUVudmlyb25t ZW50ICpxdWVyeUVudiwKIAkJCQkJCQkgICBEZXN0UmVjZWl2ZXIgKmRlc3QsCiAJCQkJCQkJICAg UXVlcnlDb21wbGV0aW9uICpxYyk7Ci1zdGF0aWMgdm9pZCBFeGVjRHJvcFN0bXQoUGFyc2VTdGF0 ZSAqcHN0YXRlLCBEcm9wU3RtdCAqc3RtdCwgYm9vbCBpc1RvcExldmVsKTsKK3N0YXRpYyB2b2lk IEV4ZWNEcm9wU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIERyb3BTdG10ICpzdG10LCBib29sIGlz VG9wTGV2ZWwsCisJCQkJCQkgYm9vbCBpc0NvbXBsZXRlUXVlcnkpOwogCiAvKgogICogQ29tbWFu ZElzUmVhZE9ubHk6IGlzIGFuIGV4ZWN1dGFibGUgcXVlcnkgcmVhZC1vbmx5PwpAQCAtOTg4LDcg Kzk4OSw3IEBAIHN0YW5kYXJkX1Byb2Nlc3NVdGlsaXR5KFBsYW5uZWRTdG10ICpwc3RtdCwKIAkJ CQkJCQkJCSAgIGNvbnRleHQsIHBhcmFtcywgcXVlcnlFbnYsCiAJCQkJCQkJCQkgICBkZXN0LCBx Yyk7CiAJCQkJZWxzZQotCQkJCQlFeGVjRHJvcFN0bXQocHN0YXRlLCBzdG10LCBpc1RvcExldmVs KTsKKwkJCQkJRXhlY0Ryb3BTdG10KHBzdGF0ZSwgc3RtdCwgaXNUb3BMZXZlbCwgY29udGV4dCAh PSBQUk9DRVNTX1VUSUxJVFlfU1VCQ09NTUFORCk7CiAJCQl9CiAJCQlicmVhazsKIApAQCAtMTEy OCw3ICsxMTI5LDcgQEAgTG9nTG9naWNhbERETENvbW1hbmQoTm9kZSAqcGFyc2V0cmVlLCBjb25z dCBjaGFyICpxdWVyeVN0cmluZykKIAkJCSAqIHRoZXJlIGlzIGFueSBGT1IgQUxMIFRBQkxFUyBw dWJsaWNhdGlvbiB3aXRoIHB1YmRkbF9kYXRhYmFzZSBvbi4KIAkJCSAqIGkuZS4gRGF0YWJhc2Ug bGV2ZWwgRERMIHJlcGxpY2F0aW9uIGlzIG9uIGZvciBzb21lIHB1YmxpY2F0aW9uLgogCQkJICov Ci0JCQlpZiAoZGRsX25lZWRfeGxvZyhJbnZhbGlkT2lkLCB0cnVlLCB0cnVlKSkKKwkJCWlmIChk ZGxfbmVlZF94bG9nKEludmFsaWRPaWQsIHRydWUpKQogCQkJewogCQkJCWJvb2wgdHJhbnNhY3Rp b25hbCA9IHRydWU7CiAJCQkJY29uc3QgY2hhciogcHJlZml4ID0gIiI7CkBAIC0xMTcwLDcgKzEx NzEsNyBAQCBMb2dMb2dpY2FsRERMQ29tbWFuZChOb2RlICpwYXJzZXRyZWUsIGNvbnN0IGNoYXIg KnF1ZXJ5U3RyaW5nKQogCQkJCQkgKiB0aGVyZSBpcyBhbnkgRk9SIEFMTCBUQUJMRVMgcHVibGlj YXRpb24gd2l0aCBwdWJkZGxfZGF0YWJhc2Ugb24uCiAJCQkJCSAqIGkuZS4gRGF0YWJhc2UgbGV2 ZWwgRERMIHJlcGxpY2F0aW9uIGlzIG9uIGZvciBzb21lIHB1YmxpY2F0aW9uLgogCQkJCQkgKi8K LQkJCQkJaWYgKGRkbF9uZWVkX3hsb2coSW52YWxpZE9pZCwgdHJ1ZSwgdHJ1ZSkpCisJCQkJCWlm IChkZGxfbmVlZF94bG9nKEludmFsaWRPaWQsIHRydWUpKQogCQkJCQl7CiAJCQkJCQlib29sIHRy YW5zYWN0aW9uYWwgPSB0cnVlOwogCQkJCQkJY29uc3QgY2hhciogcHJlZml4ID0gIiI7CkBAIC0x MjIxLDcgKzEyMjIsNyBAQCBMb2dMb2dpY2FsRERMQ29tbWFuZChOb2RlICpwYXJzZXRyZWUsIGNv bnN0IGNoYXIgKnF1ZXJ5U3RyaW5nKQogCQkJCQkgKiB0aGVyZSBpcyBhbnkgRk9SIEFMTCBUQUJM RVMgcHVibGljYXRpb24gd2l0aCBwdWJkZGxfZGF0YWJhc2Ugb24uCiAJCQkJCSAqIGkuZS4gRGF0 YWJhc2UgbGV2ZWwgRERMIHJlcGxpY2F0aW9uIGlzIG9uIGZvciBzb21lIHB1YmxpY2F0aW9uLgog CQkJCQkgKi8KLQkJCQkJaWYgKGRkbF9uZWVkX3hsb2coSW52YWxpZE9pZCwgdHJ1ZSwgdHJ1ZSkp CisJCQkJCWlmIChkZGxfbmVlZF94bG9nKEludmFsaWRPaWQsIHRydWUpKQogCQkJCQl7CiAJCQkJ CQlib29sIHRyYW5zYWN0aW9uYWwgPSB0cnVlOwogCQkJCQkJY29uc3QgY2hhciogcHJlZml4ID0g IiI7CkBAIC0xMzE4LDcgKzEzMTksNyBAQCBQcm9jZXNzVXRpbGl0eVNsb3coUGFyc2VTdGF0ZSAq cHN0YXRlLAogCQkJICogQ29uc2lkZXIgbG9nZ2luZyB0aGUgRERMIGNvbW1hbmQgaWYgbG9naWNh bCBsb2dnaW5nIGlzIGVuYWJsZWQgYW5kIHRoaXMgaXMKIAkJCSAqIGEgY29tcGxldGUgdG9wIGxl dmVsIHF1ZXJ5LgogCQkJICovCi0JCQlpZiAoWExvZ0xvZ2ljYWxJbmZvQWN0aXZlKCkgJiYgaXNU b3BMZXZlbCkKKwkJCWlmIChYTG9nTG9naWNhbEluZm9BY3RpdmUoKSkKIAkJCQlMb2dMb2dpY2Fs RERMQ29tbWFuZChwYXJzZXRyZWUsIHF1ZXJ5U3RyaW5nKTsKIAkJfQogCkBAIC0xNTMwLDcgKzE1 MzEsOCBAQCBQcm9jZXNzVXRpbGl0eVNsb3coUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkJICog dGhpcyBUQUJMRSBiZWxvbmdzIHRvIGFueSBwdWJsaWNhdGlvbiB3aXRoIHRhYmxlIGxldmVsIGRk bCBvbgogCQkJCQkJICovCiAJCQkJCQlpZiAoWExvZ0xvZ2ljYWxJbmZvQWN0aXZlKCkgJiYKLQkJ CQkJCQlkZGxfbmVlZF94bG9nKHJlbGlkLCBmYWxzZSwgaXNUb3BMZXZlbCkpCisJCQkJCQkJaXND b21wbGV0ZVF1ZXJ5ICYmCisJCQkJCQkJZGRsX25lZWRfeGxvZyhyZWxpZCwgZmFsc2UpKQogCQkJ CQkJewogCQkJCQkJCWJvb2wgdHJhbnNhY3Rpb25hbCA9IHRydWU7CiAJCQkJCQkJY29uc3QgY2hh ciogcHJlZml4ID0gIiI7CkBAIC0xNzY2LDcgKzE3NjgsOCBAQCBQcm9jZXNzVXRpbGl0eVNsb3co UGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkgKiB0aGlzIFRBQkxFIGJlbG9uZ3MgdG8gYW55IHB1 YmxpY2F0aW9uIHdpdGggdGFibGUgbGV2ZWwgZGRsIG9uLgogCQkJCQkgKi8KIAkJCQkJaWYgKFhM b2dMb2dpY2FsSW5mb0FjdGl2ZSgpICYmCi0JCQkJCQlkZGxfbmVlZF94bG9nKHJlbGlkLCBmYWxz ZSwgaXNUb3BMZXZlbCkpCisJCQkJCQlpc0NvbXBsZXRlUXVlcnkgJiYKKwkJCQkJCWRkbF9uZWVk X3hsb2cocmVsaWQsIGZhbHNlKSkKIAkJCQkJewogCQkJCQkJYm9vbCB0cmFuc2FjdGlvbmFsID0g dHJ1ZTsKIAkJCQkJCWNvbnN0IGNoYXIqIHByZWZpeCA9ICIiOwpAQCAtMTk5Myw3ICsxOTk2LDcg QEAgUHJvY2Vzc1V0aWxpdHlTbG93KFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJCQlicmVhazsKIAog CQkJY2FzZSBUX0Ryb3BTdG10OgotCQkJCUV4ZWNEcm9wU3RtdChwc3RhdGUsIChEcm9wU3RtdCAq KSBwYXJzZXRyZWUsIGlzVG9wTGV2ZWwpOworCQkJCUV4ZWNEcm9wU3RtdChwc3RhdGUsIChEcm9w U3RtdCAqKSBwYXJzZXRyZWUsIGlzVG9wTGV2ZWwsIGlzQ29tcGxldGVRdWVyeSk7CiAJCQkJLyog bm8gY29tbWFuZHMgc3Rhc2hlZCBmb3IgRFJPUCAqLwogCQkJCWNvbW1hbmRDb2xsZWN0ZWQgPSB0 cnVlOwogCQkJCWJyZWFrOwpAQCAtMjIxNCw3ICsyMjE3LDggQEAgUHJvY2Vzc1V0aWxpdHlGb3JB bHRlclRhYmxlKE5vZGUgKnN0bXQsIEFsdGVyVGFibGVVdGlsaXR5Q29udGV4dCAqY29udGV4dCkK ICAqIERpc3BhdGNoIGZ1bmN0aW9uIGZvciBEcm9wU3RtdAogICovCiBzdGF0aWMgdm9pZAotRXhl Y0Ryb3BTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgRHJvcFN0bXQgKnN0bXQsIGJvb2wgaXNUb3BM ZXZlbCkKK0V4ZWNEcm9wU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIERyb3BTdG10ICpzdG10LCBi b29sIGlzVG9wTGV2ZWwsCisJCQkgYm9vbCBpc0NvbXBsZXRlUXVlcnkpCiB7CiAJc3dpdGNoIChz dG10LT5yZW1vdmVUeXBlKQogCXsKQEAgLTIyMjksNyArMjIzMyw3IEBAIEV4ZWNEcm9wU3RtdChQ YXJzZVN0YXRlICpwc3RhdGUsIERyb3BTdG10ICpzdG10LCBib29sIGlzVG9wTGV2ZWwpCiAJCWNh c2UgT0JKRUNUX1ZJRVc6CiAJCWNhc2UgT0JKRUNUX01BVFZJRVc6CiAJCWNhc2UgT0JKRUNUX0ZP UkVJR05fVEFCTEU6Ci0JCQlSZW1vdmVSZWxhdGlvbnMocHN0YXRlLCBzdG10LCBpc1RvcExldmVs KTsKKwkJCVJlbW92ZVJlbGF0aW9ucyhwc3RhdGUsIHN0bXQsIGlzQ29tcGxldGVRdWVyeSk7CiAJ CQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCVJlbW92ZU9iamVjdHMoc3RtdCk7CmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmggYi9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX3B1YmxpY2F0aW9uLmgKaW5kZXggYTk0ZTE1MjI1Ni4uOGMxMTRiMjQ0NyAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5oCisrKyBiL3NyYy9pbmNs dWRlL2NhdGFsb2cvcGdfcHVibGljYXRpb24uaApAQCAtMTY2LDYgKzE2Niw2IEBAIGV4dGVybiBC aXRtYXBzZXQgKnB1Yl9jb2xsaXN0X3RvX2JpdG1hcHNldChCaXRtYXBzZXQgKmNvbHVtbnMsIERh dHVtIHB1YmNvbHMsCiAKIGV4dGVybiBPaWQJZ2V0X3B1YmxpY2F0aW9uX29pZChjb25zdCBjaGFy ICpwdWJuYW1lLCBib29sIG1pc3Npbmdfb2spOwogZXh0ZXJuIGNoYXIgKmdldF9wdWJsaWNhdGlv bl9uYW1lKE9pZCBwdWJpZCwgYm9vbCBtaXNzaW5nX29rKTsKLWV4dGVybiBib29sIGRkbF9uZWVk X3hsb2coT2lkIHJlbGlkLCBib29sIGZvckFsbFRhYlB1Yk9ubHksIGJvb2wgaXNUb3BMZXZlbCk7 CitleHRlcm4gYm9vbCBkZGxfbmVlZF94bG9nKE9pZCByZWxpZCwgYm9vbCBmb3JBbGxUYWJQdWJP bmx5KTsKIAogI2VuZGlmCQkJCQkJCS8qIFBHX1BVQkxJQ0FUSU9OX0ggKi8KZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL2NvbW1hbmRzL3RhYmxlY21kcy5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMv dGFibGVjbWRzLmgKaW5kZXggNjg3ODEzNjVkZS4uMjQxMDZkZTJlNSAxMDA2NDQKLS0tIGEvc3Jj L2luY2x1ZGUvY29tbWFuZHMvdGFibGVjbWRzLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMv dGFibGVjbWRzLmgKQEAgLTI4LDcgKzI4LDggQEAgc3RydWN0IEFsdGVyVGFibGVVdGlsaXR5Q29u dGV4dDsJLyogYXZvaWQgaW5jbHVkaW5nIHRjb3AvdXRpbGl0eS5oIGhlcmUgKi8KIGV4dGVybiBP YmplY3RBZGRyZXNzIERlZmluZVJlbGF0aW9uKENyZWF0ZVN0bXQgKnN0bXQsIGNoYXIgcmVsa2lu ZCwgT2lkIG93bmVySWQsCiAJCQkJCQkJCQlPYmplY3RBZGRyZXNzICp0eXBhZGRyZXNzLCBjb25z dCBjaGFyICpxdWVyeVN0cmluZyk7CiAKLWV4dGVybiB2b2lkIFJlbW92ZVJlbGF0aW9ucyhQYXJz ZVN0YXRlICpwc3RhdGUsIERyb3BTdG10ICpkcm9wLCBib29sIGlzVG9wTGV2ZWwpOworZXh0ZXJu IHZvaWQgUmVtb3ZlUmVsYXRpb25zKFBhcnNlU3RhdGUgKnBzdGF0ZSwgRHJvcFN0bXQgKmRyb3As CisJCQkJCQkJYm9vbCBpc0NvbXBsZXRlUXVlcnkpOwogCiBleHRlcm4gT2lkCUFsdGVyVGFibGVM b29rdXBSZWxhdGlvbihBbHRlclRhYmxlU3RtdCAqc3RtdCwgTE9DS01PREUgbG9ja21vZGUpOwog CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzBfcmVwX2RkbHMucGwgYi9z cmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzBfcmVwX2RkbHMucGwKaW5kZXggNGUwNTIxMjA2OC4u MzRiOWQ1MWViMSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9k ZGxzLnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBfZGRscy5wbApAQCAt MzQ4LDYgKzM0OCw0NCBAQCAkbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3Vi Jyk7CiAkcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJT RUxFQ1QgY291bnQoKikgRlJPTSBwZ19jYXRhbG9nLnBnX2Nhc3QgYywgcGdfY2F0YWxvZy5wZ19w cm9jIHAgV0hFUkUgcC5wcm9uYW1lPSdhZGQnIEFORCBjLmNhc3RmdW5jPXAub2lkOyIpOwogaXMo JHJlc3VsdCwgcXEoMSksICdDcmVhdGVDYXN0IFN0bXQgaXMgcmVwbGljYXRlZCcpOwogCisjVEVT VCBEREwgaW4gZnVuY3Rpb24KKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3Jlcycs IHFxeworQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gZnVuY19kZGwgKHRuYW1lIHZhcmNoYXIo MjApKQorUkVUVVJOUyBWT0lEIEFTIFwkXCQKK0JFR0lOCisgICAgZXhlY3V0ZSBmb3JtYXQoJ0NS RUFURSBUQUJMRSAlSShpZCBpbnQgcHJpbWFyeSBrZXksIG5hbWUgdmFyY2hhcik7JywgdG5hbWUp OworICAgIGV4ZWN1dGUgZm9ybWF0KCdBTFRFUiBUQUJMRSAlSSBBREQgYzMgaW50JywgdG5hbWUp OworICAgIGV4ZWN1dGUgZm9ybWF0KCdJTlNFUlQgSU5UTyAlSSBWQUxVRVMgKDEsICcnYScnKTsn LCB0bmFtZSk7CisgICAgZXhlY3V0ZSBmb3JtYXQoJ0lOU0VSVCBJTlRPICVJIFZBTFVFUyAoMiwg JydiJycsIDIyKTsnLCB0bmFtZSk7CitFTkQ7CitcJFwkCitMQU5HVUFHRSBwbHBnc3FsO30pOwor Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGZ1bmNfZGRs KCdmdW5jX3RhYmxlJyk7Iik7CisKKyRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgn bXlzdWInKTsKKworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdy ZXMnLCAiU0VMRUNUIGNvdW50KCopIEZST00gczEuZnVuY190YWJsZSB3aGVyZSBjMyA9IDIyOyIp OworaXMoJHJlc3VsdCwgcXEoMSksICdERExzIGluIGZ1bmN0aW9uIGFyZSByZXBsaWNhdGVkJyk7 CisKKyNURVNUIERETCBpbiBwcm9jZWR1cmUKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdw b3N0Z3JlcycsIHFxeworQ1JFQVRFIE9SIFJFUExBQ0UgcHJvY2VkdXJlIHByb2NfZGRsICh0bmFt ZSB2YXJjaGFyKDIwKSkKK0xBTkdVQUdFIHBscGdzcWwgQVMgXCRcJAorQkVHSU4KKyAgICBleGVj dXRlIGZvcm1hdCgnQ1JFQVRFIFRBQkxFICVJKGlkIGludCBwcmltYXJ5IGtleSwgbmFtZSB2YXJj aGFyKTsnLCB0bmFtZSk7CisgICAgZXhlY3V0ZSBmb3JtYXQoJ0FMVEVSIFRBQkxFICVJIEFERCBj MyBpbnQnLCB0bmFtZSk7CisgICAgZXhlY3V0ZSBmb3JtYXQoJ0lOU0VSVCBJTlRPICVJIFZBTFVF UyAoMSwgJydhJycpOycsIHRuYW1lKTsKKyAgICBleGVjdXRlIGZvcm1hdCgnSU5TRVJUIElOVE8g JUkgVkFMVUVTICgyLCAnJ2InJywgMjIpOycsIHRuYW1lKTsKK0VORCBcJFwkO30pOworCiskbm9k ZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ0FMTCBwcm9jX2RkbCgncHJvY190 YWJsZScpOyIpOworCiskbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3ViJyk7 CisKKyRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNF TEVDVCBjb3VudCgqKSBGUk9NIHMxLnByb2NfdGFibGUgd2hlcmUgYzMgPSAyMjsiKTsKK2lzKCRy ZXN1bHQsIHFxKDEpLCAnRERMcyBpbiBwcm9jZWR1cmUgYXJlIHJlcGxpY2F0ZWQnKTsKKwogI1RP RE8gVEVTVCBjZXJ0YWluIERETHMgYXJlIG5vdCByZXBsaWNhdGVkCiAKIHBhc3MgIkRETCByZXBs aWNhdGlvbiB0ZXN0cyBwYXNzZWQhIjsKLS0gCjIuMzIuMAoK --0000000000008260cd05deeafb8c Content-Type: application/octet-stream; name="0008-Fail-replication-worker-on-DDL-command-that-rewrites.patch" Content-Disposition: attachment; filename="0008-Fail-replication-worker-on-DDL-command-that-rewrites.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l34xb8t87 RnJvbSBjMjhiOGJiNWFhZjJhOWQzOWVmMDU3NTVmNDQ0OWE0ZjhjNmZiOTM4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IEZyaSwgMjkgQXByIDIwMjIgMTY6NTc6MDMgKzAwMDAKU3ViamVjdDogW1BBVENIIDA4 LzEwXSBGYWlsIHJlcGxpY2F0aW9uIHdvcmtlciBvbiBEREwgY29tbWFuZCB0aGF0IHJld3JpdGVz CiB0YWJsZSB1c2luZyB2b2xhdGlsZSBmdW5jdGlvbnMsIHN1Y2ggYXMgQUxURVIgVEFCTEUgdGFi IEFERCBDT0xVTU4gY29sCiBERUZBVUxUIHZvbGF0aWxlX2V4cHIuIFRoaXMgaXMgdG8gYXZvaWQg ZGF0YSBtaXNtYXRjaCBjb21wYXJlZCB0byB0aGUKIHB1Ymxpc2hlci4gV2UgY2FuIHBvdGVudGlh bGx5IHVuYmxvY2sgdGhpcyB0eXBlIG9mIGNvbW1hbmQgd2hlbiB0YWJsZSByZXdyaXRlCiBpcyBz dXBwb3J0ZWQgaW4gbG9naWNhbCByZXBsaWNhdGlvbi4KCi0tLQogc3JjL2JhY2tlbmQvcmVwbGlj YXRpb24vbG9naWNhbC93b3JrZXIuYyB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKwogc3Jj L3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9kZGxzLnBsICB8IDIyICsrKysrKysrKysrKwog MiBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9u L2xvZ2ljYWwvd29ya2VyLmMKaW5kZXggOTA1ZjQ3ZmFmNS4uMDFkYjEwMmUzYyAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYworKysgYi9zcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCkBAIC0xNTcsNiArMTU3LDcgQEAKICNp bmNsdWRlICJub2Rlcy9tYWtlZnVuY3MuaCIKICNpbmNsdWRlICJvcHRpbWl6ZXIvb3B0aW1pemVy LmgiCiAjaW5jbHVkZSAicGFyc2VyL2FuYWx5emUuaCIKKyNpbmNsdWRlICJwYXJzZXIvcGFyc2Vf ZXhwci5oIgogI2luY2x1ZGUgInBnc3RhdC5oIgogI2luY2x1ZGUgInBvc3RtYXN0ZXIvYmd3b3Jr ZXIuaCIKICNpbmNsdWRlICJwb3N0bWFzdGVyL2ludGVycnVwdC5oIgpAQCAtMjU0Nyw2ICsyNTQ4 LDggQEAgYXBwbHlfZXhlY3V0ZV9zcWxfY29tbWFuZChjb25zdCBjaGFyICpjbWRzdHIsIGNvbnN0 IGNoYXIgKnJvbGUsIGNvbnN0IGNoYXIgKnNlYXIKIAogCQljb21tYW5kVGFnID0gQ3JlYXRlQ29t bWFuZFRhZygoTm9kZSAqKWNvbW1hbmQpOwogCisJCS8qIFRoZSBmb2xsb3dpbmcgRERMIGNvbW1h bmRzIG5lZWQgc3BlY2lhbCBoYW5kbGluZyAqLworCiAJCS8qCiAJCSAqIFJlbWVtYmVyIHRoZSBz Y2hlbWFuYW1lIGFuZCByZWxuYW1lIGlmIHRoZSBjbWQgaXMgZ29pbmcgdG8gY3JlYXRlIGEgdGFi bGUKIAkJICogYmVjYXVzZSB3ZSB3aWxsIG5lZWQgdGhlbSBmb3Igc29tZSBwb3N0LXByb2Nlc3Np bmcgYWZ0ZXIgd2UKQEAgLTI1OTQsNiArMjU5Nyw0NyBAQCBhcHBseV9leGVjdXRlX3NxbF9jb21t YW5kKGNvbnN0IGNoYXIgKmNtZHN0ciwgY29uc3QgY2hhciAqcm9sZSwgY29uc3QgY2hhciAqc2Vh cgogCQkJCXNzdG10LT5pbnRvQ2xhdXNlLT5za2lwRGF0YSA9IHRydWU7CiAJCQl9CiAJCX0KKwkJ LyoKKwkJICogQUxURVIgVEFCTEUgQUREIENPTFVNTiBjb2wgREVGQVVMVCB2b2xhdGlsZV9leHBy IGlzIG5vdCBzdXBwb3J0ZWQuCisJCSAqIFVudGlsIHdlIHN1cHBvcnQgbG9naWNhbCByZXBsaWNh dGlvbiBvZiB0YWJsZSByZXdyaXRlLCBzZWUgQVRSZXdyaXRlVGFibGVzKCkKKwkJICogZm9yIGRl dGFpbHMgb24gdGFibGUgcmV3cml0ZS4KKwkJICovCisJCWVsc2UgaWYgKGNvbW1hbmRUYWcgPT0g Q01EVEFHX0FMVEVSX1RBQkxFKQorCQl7CisJCQlBbHRlclRhYmxlU3RtdCAqYXRzdG10ID0gKEFs dGVyVGFibGVTdG10ICopIGNvbW1hbmQtPnN0bXQ7CisJCQlMaXN0Q2VsbCAqbGM7CisKKwkJCWZv cmVhY2gobGMsIGF0c3RtdC0+Y21kcykKKwkJCXsKKwkJCQlBbHRlclRhYmxlQ21kICpjbWQgPSBs Zmlyc3Rfbm9kZShBbHRlclRhYmxlQ21kLCBsYyk7CisKKwkJCQlpZiAoY21kLT5zdWJ0eXBlID09 IEFUX0FkZENvbHVtbikKKwkJCQl7CisJCQkJCUNvbHVtbkRlZiAqY29sRGVmOworCQkJCQlMaXN0 Q2VsbCAqYzsKKworCQkJCQljb2xEZWYgPSBjYXN0Tm9kZShDb2x1bW5EZWYsIGNtZC0+ZGVmKTsK KwkJCQkJZm9yZWFjaChjLCBjb2xEZWYtPmNvbnN0cmFpbnRzKQorCQkJCQl7CisJCQkJCQlDb25z dHJhaW50ICpjb24gPSBsZmlyc3Rfbm9kZShDb25zdHJhaW50LCBjKTsKKworCQkJCQkJaWYgKGNv bi0+Y29udHlwZSA9PSBDT05TVFJfREVGQVVMVCkKKwkJCQkJCXsKKwkJCQkJCQlOb2RlICpleHBy OworCQkJCQkJCVBhcnNlU3RhdGUgKnBzdGF0ZSA9IG1ha2VfcGFyc2VzdGF0ZShOVUxMKTsKKwor CQkJCQkJCWV4cHIgPSB0cmFuc2Zvcm1FeHByKHBzdGF0ZSwgY29weU9iamVjdChjb24tPnJhd19l eHByKSwgRVhQUl9LSU5EX0NPTFVNTl9ERUZBVUxUKTsKKwkJCQkJCQlpZiAoY29udGFpbl92b2xh dGlsZV9mdW5jdGlvbnMoZXhwcikpCisJCQkJCQkJeworCQkJCQkJCQllbG9nKEVSUk9SLAorCQkJ CQkJCQkJIkRvIG5vdCBzdXBwb3J0IHJlcGxpY2F0aW9uIG9mIERETCBzdGF0ZW1lbnQgdGhhdCBy ZXdyaXRlcyB0YWJsZSB1c2luZyB2b2xhdGlsZSBmdW5jdGlvbnM6ICVzIiwKKwkJCQkJCQkJCWNt ZHN0cik7CisJCQkJCQkJfQorCQkJCQkJfQorCQkJCQl9CisJCQkJfQorCQkJfQorCQl9CiAKIAkJ LyoKIAkJICogU2V0IHVwIGEgc25hcHNob3QgaWYgcGFyc2UgYW5hbHlzaXMvcGxhbm5pbmcgd2ls bCBuZWVkIG9uZS4KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBf ZGRscy5wbCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBfZGRscy5wbAppbmRleCAz NGI5ZDUxZWIxLi5iNGRmMWJmZWZkIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24v dC8wMzBfcmVwX2RkbHMucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9k ZGxzLnBsCkBAIC0zODYsNyArMzg2LDI5IEBAICRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0 Y2h1cCgnbXlzdWInKTsKICRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBGUk9NIHMxLnByb2NfdGFibGUgd2hlcmUgYzMgPSAy MjsiKTsKIGlzKCRyZXN1bHQsIHFxKDEpLCAnRERMcyBpbiBwcm9jZWR1cmUgYXJlIHJlcGxpY2F0 ZWQnKTsKIAorIyBUZXN0IEFsdGVyIHRhYmxlIGFsdGVyIGNvbHVtbiB0eXBlIHN0bXQgaXMgcmVw bGljYXRlZAorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkFMVEVSIFRB QkxFIHRlc3RfcmVwIEFMVEVSIENPTFVNTiBuYW1lIHR5cGUgVEVYVDsiKTsKKworJG5vZGVfcHVi bGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVzdWx0ID0gJG5vZGVfc3Vi c2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgZGF0YV90eXBlIEZST00gaW5m b3JtYXRpb25fc2NoZW1hLmNvbHVtbnMgV0hFUkUgdGFibGVfbmFtZSA9ICd0ZXN0X3JlcCcgYW5k IGNvbHVtbl9uYW1lID0gJ25hbWUnOyIpOworaXMoJHJlc3VsdCwgcXEodGV4dCksICdBbHRlciB0 YWJsZSBjb2x1bW4gdHlwZSBzdG10IGlzIHJlcGxpY2F0ZWQnKTsKKworIyBUZXN0IEFsdGVyIHRh YmxlIGFkZCBjb2x1bW4gZGVmYXVsdCAwLjAxIGlzIHJlcGxpY2F0ZWQKKyRub2RlX3B1Ymxpc2hl ci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJBTFRFUiBUQUJMRSB0ZXN0X3JlcCBBREQgQ09MVU1O IG5vbl92b2xhdGlsZSBkb3VibGUgcHJlY2lzaW9uIERFRkFVTFQgMC4wMTsiKTsKKworJG5vZGVf cHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVzdWx0ID0gJG5vZGVf c3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgZnJvbSB0 ZXN0X3JlcCB3aGVyZSBub25fdm9sYXRpbGUgPSAwLjAxOyIpOworaXMoJHJlc3VsdCwgcXEoMiks ICdBbHRlciB0YWJsZSBhZGQgY29sdW1uIGRlZmF1bHQgMC4wMSBpcyByZXBsaWNhdGVkJyk7CisK ICNUT0RPIFRFU1QgY2VydGFpbiBERExzIGFyZSBub3QgcmVwbGljYXRlZAorIyBUZXN0IERETCBz dGF0ZW1lbnQgdGhhdCByZXdyaXRlcyB0YWJsZSB3aXRoIHZvbGF0aWxlIGZ1bmN0aW9ucyBhcmUg bm90IHJlcGxpY2F0ZWQKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJB TFRFUiBUQUJMRSB0ZXN0X3JlcCBBREQgQ09MVU1OIHZvbGF0aWxlIGRvdWJsZSBwcmVjaXNpb24g REVGQVVMVCAzICogcmFuZG9tKCk7Iik7CiskcmVzdWx0ID0gJG5vZGVfcHVibGlzaGVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBGUk9NIGluZm9ybWF0aW9uX3NjaGVt YS5jb2x1bW5zIFdIRVJFIHRhYmxlX25hbWUgPSAndGVzdF9yZXAnIGFuZCBjb2x1bW5fbmFtZSA9 ICd2b2xhdGlsZSc7Iik7CitpcygkcmVzdWx0LCBxcSgxKSwgJ0FsdGVyIHRhYmxlIGFkZCBjb2x1 bW4gZGVmYXVsdCByYW5kb20oKSBpcyBleGVjdXRlZCBvbiB0aGUgcHVibGlzaGVyIERCLicpOwor CiskcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+d2FpdF9mb3JfbG9nKCJEbyBub3Qgc3VwcG9y dCByZXBsaWNhdGlvbiBvZiBEREwgc3RhdGVtZW50IHRoYXQgcmV3cml0ZXMgdGFibGUgdXNpbmcg dm9sYXRpbGUgZnVuY3Rpb25zIiwgJHJlc3VsdCk7CiAKIHBhc3MgIkRETCByZXBsaWNhdGlvbiB0 ZXN0cyBwYXNzZWQhIjsKIAotLSAKMi4zMi4wCgo= --0000000000008260cd05deeafb8c Content-Type: application/octet-stream; name="0010-Handle-partitioned-table-creation-on-the-apply-worke.patch" Content-Disposition: attachment; filename="0010-Handle-partitioned-table-creation-on-the-apply-worke.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l34xb8ta9 RnJvbSA4ZjRhZjVhYzJhNWYzNWJhMmI4NWRmYTUyNWUzZDgzNmNmYTU3MGIwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IEZyaSwgMTMgTWF5IDIwMjIgMTk6NDc6NDQgKzAwMDAKU3ViamVjdDogW1BBVENIIDEw LzEwXSBIYW5kbGUgcGFydGl0aW9uZWQgdGFibGUgY3JlYXRpb24gb24gdGhlIGFwcGx5IHdvcmtl cjoKIHdoZXRoZXIgYSBwYXJ0aXRpb25lZCB0YWJsZSBzaG91bGQgYmUgYWRkZWQgdG8gcGdfc3Vi c2NyaXB0aW9uX3JlbCBjYXRhbG9nCiBkZXBlbmRzIG9uIHRoZSBzZXR0aW5nIG9mIHB1Ymxpc2hf dmlhX3BhcnRpdGlvbl9yb290IG9mIHRoZSBwdWJsaWNhdGlvbi4gVGh1cwogd2UgbmVlZCB0byBj b25uZWN0IHRvIHRoZSBzb3VyY2UgREIgYW5kIGNoZWNrIHdoZWh0ZXIgdGhlIHBhcnRpdGlvbmVk IHRhYmxlCiBzaG91bGQgYmUgc3Vic2NyaWJlZC4KCi0tLQogc3JjL2JhY2tlbmQvY29tbWFuZHMv c3Vic2NyaXB0aW9uY21kcy5jICB8IDU0ICsrKysrKysrKysrKysrKysrKysrKy0KIHNyYy9iYWNr ZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgfCAzNSArKysrKysrKysrKystLS0KIHNy Yy9pbmNsdWRlL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuaCAgfCAgMyArKwogc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9wc3FsLm91dCAgICAgICB8ICA2ICstLQogc3JjL3Rlc3Qvc3Vic2Ny aXB0aW9uL3QvMDMwX3JlcF9kZGxzLnBsICB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKwog NSBmaWxlcyBjaGFuZ2VkLCAxNDUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jIGIvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jCmluZGV4IDY5MGNkYWE0MjYuLmI2YzJm ZDEwMDQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMu YworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMKQEAgLTIzLDcg KzIzLDYgQEAKICNpbmNsdWRlICJjYXRhbG9nL25hbWVzcGFjZS5oIgogI2luY2x1ZGUgImNhdGFs b2cvb2JqZWN0YWNjZXNzLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9vYmplY3RhZGRyZXNzLmgiCi0j aW5jbHVkZSAiY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaCIKICNpbmNsdWRlICJjYXRhbG9nL3Bn X3N1YnNjcmlwdGlvbl9yZWwuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5cGUuaCIKICNpbmNs dWRlICJjb21tYW5kcy9kZWZyZW0uaCIKQEAgLTc0Niw2ICs3NDUsNTkgQEAgQ3JlYXRlU3Vic2Ny aXB0aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwK IAlyZXR1cm4gbXlzZWxmOwogfQogCisvKgorICogQ2hlY2sgaWYgYSBwYXJ0aXRpb25lZCB0YWJs ZSBpcyBiZWluZyBwdWJsaXNoZWQgYnkgYW55IHB1YmxpY2F0aW9uIHN1YnNjaXJiZWQgYnkgdGhl IHN1YnNjcmlwdGlvbi4KKyAqIFdoZXRoZXIgYSBwYXJ0aXRpb25lZCB0YWJsZSBpcyBwdWJsaXNo ZWQgYWxzbyBkZXBlbmRzIG9uIHRoZSBwdWJsaWNhdGlvbiBvcHRpb24KKyAqIHB1Ymxpc2hfdmlh X3BhcnRpdGlvbl9yb290LiBCdXQgdGhlIHN1YnNjcmliZXIgZG9lc24ndCBrbm93IHRoZSBzZXR0 aW5nIG9mIHB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290LAorICogdGhpcyBpcyB3aHkgd2UgbmVl ZCB0byBjaGVjayB0aGUgc291cmNlIERCIHNvIHRoYXQgd2UgY2FuIGRlY2lkZSB3aGV0aGVyIHRv IHN1YnNjcmliZSB0byB0aGUgcGFydGl0aW9uZWQKKyAqIHRhYmxlIChjb3VsZCBiZSBlaXRoZXIg cm9vdCBvciBsZWFmIHRhYmxlKSBkdXJpbmcgcmVwbGljYXRpb24gb2YgY3JlYXRlIHBhcnRpdGlv bmVkIHRhYmxlLgorICovCitib29sCitJc1BhcnRpdGlvbmVkVGFibGVQdWJsaXNoZWRPblNvdXJj ZShTdWJzY3JpcHRpb24gKnN1YiwgY2hhciAqc2NoZW1hX25hbWUsIGNoYXIgKnRhYmxlX25hbWUp Cit7CisJY2hhciAqZXJyOworCVdhbFJjdkV4ZWNSZXN1bHQgKnJlczsKKwlTdHJpbmdJbmZvRGF0 YSBjbWQ7CisJT2lkIHRhYmxlUm93WzFdID0ge0JPT0xPSUR9OworCWJvb2wgcmVzdWx0OworCisJ V2FsUmVjZWl2ZXJDb25uICp3cmNvbm47CisJLyogTG9hZCB0aGUgbGlicmFyeSBwcm92aWRpbmcg dXMgbGlicHEgY2FsbHMuICovCisJbG9hZF9maWxlKCJsaWJwcXdhbHJlY2VpdmVyIiwgZmFsc2Up OworCisJLyogVHJ5IHRvIGNvbm5lY3QgdG8gdGhlIHB1Ymxpc2hlci4gKi8KKwl3cmNvbm4gPSB3 YWxyY3ZfY29ubmVjdChzdWItPmNvbm5pbmZvLCB0cnVlLCBzdWItPm5hbWUsICZlcnIpOworCWlm ICghd3Jjb25uKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfQ09OTkVD VElPTl9GQUlMVVJFKSwKKwkJCQkgZXJybXNnKCJjb3VsZCBub3QgY29ubmVjdCB0byB0aGUgcHVi bGlzaGVyOiAlcyIsIGVycikpKTsKKworCVBHX1RSWSgpOworCXsKKwkJaW5pdFN0cmluZ0luZm8o JmNtZCk7CisJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoJmNtZCwgIlNFTEVDVCBUUlVFXG4iCisJ CQkJCQkJICAgIiAgRlJPTSBwZ19jYXRhbG9nLnBnX3B1YmxpY2F0aW9uX3RhYmxlcyB0XG4iCisJ CQkJCQkJICAgIiBXSEVSRSB0LnB1Ym5hbWUgSU4gKCIpOworCQlnZXRfcHVibGljYXRpb25zX3N0 cihzdWItPnB1YmxpY2F0aW9ucywgJmNtZCwgdHJ1ZSk7CisJCWFwcGVuZFN0cmluZ0luZm9TdHJp bmcoJmNtZCwgIikgQU5EIHQuc2NoZW1hbmFtZSA9ICciKTsKKwkJYXBwZW5kU3RyaW5nSW5mb1N0 cmluZygmY21kLCBzY2hlbWFfbmFtZSk7CisJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoJmNtZCwg IicgQU5EIHQudGFibGVuYW1lID0gJyIpOworCQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZjbWQs IHRhYmxlX25hbWUpOworCQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZjbWQsICInIik7CisKKwkJ cmVzID0gd2FscmN2X2V4ZWMod3Jjb25uLCBjbWQuZGF0YSwgMSwgdGFibGVSb3cpOworCQlwZnJl ZShjbWQuZGF0YSk7CisJCXJlc3VsdCA9IHR1cGxlc3RvcmVfdHVwbGVfY291bnQocmVzLT50dXBs ZXN0b3JlKSA+IDA7CisJfQorCVBHX0ZJTkFMTFkoKTsKKwl7CisJCXdhbHJjdl9kaXNjb25uZWN0 KHdyY29ubik7CisJfQorCVBHX0VORF9UUlkoKTsKKworCXJldHVybiByZXN1bHQ7Cit9CisKIHN0 YXRpYyB2b2lkCiBBbHRlclN1YnNjcmlwdGlvbl9yZWZyZXNoKFN1YnNjcmlwdGlvbiAqc3ViLCBi b29sIGNvcHlfZGF0YSwKIAkJCQkJCSAgTGlzdCAqdmFsaWRhdGVfcHVibGljYXRpb25zKQpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYyBiL3NyYy9i YWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKaW5kZXggMDFkYjEwMmUzYy4uNjEw MTQ3Y2E3NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3Jr ZXIuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCkBAIC0x NDMsNiArMTQzLDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5oIgogI2lu Y2x1ZGUgImNhdGFsb2cvcGdfc3Vic2NyaXB0aW9uX3JlbC5oIgogI2luY2x1ZGUgImNhdGFsb2cv cGdfdGFibGVzcGFjZS5oIgorI2luY2x1ZGUgImNvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuaCIK ICNpbmNsdWRlICJjb21tYW5kcy90YWJsZWNtZHMuaCIKICNpbmNsdWRlICJjb21tYW5kcy90YWJs ZXNwYWNlLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvdHJpZ2dlci5oIgpAQCAtMjU0NSw2ICsyNTQ2 LDcgQEAgYXBwbHlfZXhlY3V0ZV9zcWxfY29tbWFuZChjb25zdCBjaGFyICpjbWRzdHIsIGNvbnN0 IGNoYXIgKnJvbGUsIGNvbnN0IGNoYXIgKnNlYXIKIAkJYm9vbAkJIHNuYXBzaG90X3NldCA9IGZh bHNlOwogCQljaGFyIAkJICpzY2hlbWFuYW1lID0gTlVMTDsgLyogRm9yIENSRUFURSBUQUJMRSBh bmQgQ1JFQVRFIFRBQkxFIEFTIHN0bXQgb25seSAqLwogCQljaGFyCQkgKnJlbG5hbWUgPSBOVUxM OyAvKiBGb3IgQ1JFQVRFIFRBQkxFIGFuZCBDUkVBVEUgVEFCTEUgQVMgc3RtdCBvbmx5ICovCisJ CWJvb2wJCSBpc19wYXJ0aXRpb25lZF90YWJsZSA9IGZhbHNlOwogCiAJCWNvbW1hbmRUYWcgPSBD cmVhdGVDb21tYW5kVGFnKChOb2RlICopY29tbWFuZCk7CiAKQEAgLTI1NjEsNiArMjU2Myw4IEBA IGFwcGx5X2V4ZWN1dGVfc3FsX2NvbW1hbmQoY29uc3QgY2hhciAqY21kc3RyLCBjb25zdCBjaGFy ICpyb2xlLCBjb25zdCBjaGFyICpzZWFyCiAJCQlSYW5nZVZhciAqcnYgPSBjc3RtdC0+cmVsYXRp b247CiAJCQlzY2hlbWFuYW1lID0gcnYtPnNjaGVtYW5hbWU7CiAJCQlyZWxuYW1lID0gcnYtPnJl bG5hbWU7CisJCQlpZiAoY3N0bXQtPmluaFJlbGF0aW9ucyAhPSBOSUwgfHwgY3N0bXQtPnBhcnRz cGVjICE9IE5VTEwpCisJCQkJaXNfcGFydGl0aW9uZWRfdGFibGUgPSB0cnVlOwogCQl9CiAJCWVs c2UgaWYgKGNvbW1hbmRUYWcgPT0gQ01EVEFHX0NSRUFURV9UQUJMRV9BUykKIAkJewpAQCAtMjc2 MiwxMiArMjc2NiwzMSBAQCBhcHBseV9leGVjdXRlX3NxbF9jb21tYW5kKGNvbnN0IGNoYXIgKmNt ZHN0ciwgY29uc3QgY2hhciAqcm9sZSwgY29uc3QgY2hhciAqc2VhcgogCiAJCQlpZiAocmVsaWQg IT0gSW52YWxpZE9pZCkKIAkJCXsKLQkJCQlBZGRTdWJzY3JpcHRpb25SZWxTdGF0ZShNeVN1YnNj cmlwdGlvbi0+b2lkLCByZWxpZCwKLQkJCQkJCQkJCQlTVUJSRUxfU1RBVEVfSU5JVCwKLQkJCQkJ CQkJCQlJbnZhbGlkWExvZ1JlY1B0cik7Ci0JCQkJZXJlcG9ydChERUJVRzEsCi0JCQkJCQkoZXJy bXNnX2ludGVybmFsKCJ0YWJsZSBcIiVzXCIgYWRkZWQgdG8gc3Vic2NyaXB0aW9uIFwiJXNcIiIs Ci0JCQkJCQkJCQkJIHJlbG5hbWUsIE15U3Vic2NyaXB0aW9uLT5uYW1lKSkpOworCQkJCWJvb2wg c3Vic2NyaWJlX3RhYmxlID0gdHJ1ZTsKKworCQkJCWlmIChpc19wYXJ0aXRpb25lZF90YWJsZSkK KwkJCQl7CisJCQkJCVJlbGF0aW9uIHJlbCA9IFJlbGF0aW9uSWRHZXRSZWxhdGlvbihyZWxpZCk7 CisJCQkJCWNoYXIgKnRhYmxlX25hbWUgPSBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpOwor CQkJCQljaGFyICpzY2hlbWFfbmFtZSA9IGdldF9uYW1lc3BhY2VfbmFtZShSZWxhdGlvbkdldE5h bWVzcGFjZShyZWwpKTsKKwkJCQkJLyoKKwkJCQkJICogQ29ubmVjdCB0byB0aGUgc291cmNlIERC IGFuZCBjaGVjayB3aGVodGVyIHRoZSBwYXJ0aXRpb25lZCB0YWJsZSBzaG91bGQgYmUgc3Vic2Ny aWJlZC4KKwkJCQkJICogQmVjYXVzZSBpdCBkZXBlbmRzIG9uIHRoZSBzZXR0aW5nIG9mIHB1Ymxp c2hfdmlhX3BhcnRpdGlvbl9yb290LCB3aGljaCB0aGUgc3Vic2NyaXB0aW9uCisJCQkJCSAqIGRv ZXNuJ3Qga25vdy4KKwkJCQkJICovCisJCQkJCXN1YnNjcmliZV90YWJsZSA9IElzUGFydGl0aW9u ZWRUYWJsZVB1Ymxpc2hlZE9uU291cmNlKE15U3Vic2NyaXB0aW9uLCBzY2hlbWFfbmFtZSwgdGFi bGVfbmFtZSk7CisJCQkJCVJlbGF0aW9uQ2xvc2UocmVsKTsKKwkJCQl9CisKKwkJCQlpZiAoc3Vi c2NyaWJlX3RhYmxlKQorCQkJCXsKKwkJCQkJQWRkU3Vic2NyaXB0aW9uUmVsU3RhdGUoTXlTdWJz Y3JpcHRpb24tPm9pZCwgcmVsaWQsCisJCQkJCQkJCQkJCVNVQlJFTF9TVEFURV9JTklULAorCQkJ CQkJCQkJCQlJbnZhbGlkWExvZ1JlY1B0cik7CisJCQkJCWVyZXBvcnQoREVCVUcxLAorCQkJCQkJ CShlcnJtc2dfaW50ZXJuYWwoInRhYmxlIFwiJXNcIiBhZGRlZCB0byBzdWJzY3JpcHRpb24gXCIl c1wiIiwKKwkJCQkJCQkJCQkJIHJlbG5hbWUsIE15U3Vic2NyaXB0aW9uLT5uYW1lKSkpOworCQkJ CX0KIAkJCX0KIAkJfQogCX0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3N1YnNj cmlwdGlvbmNtZHMuaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuaApp bmRleCAyY2JlN2Q3YjY1Li40NTE5NTNhZjYwIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21t YW5kcy9zdWJzY3JpcHRpb25jbWRzLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc3Vic2Ny aXB0aW9uY21kcy5oCkBAIC0xNiw2ICsxNiw3IEBACiAjZGVmaW5lIFNVQlNDUklQVElPTkNNRFNf SAogCiAjaW5jbHVkZSAiY2F0YWxvZy9vYmplY3RhZGRyZXNzLmgiCisjaW5jbHVkZSAiY2F0YWxv Zy9wZ19zdWJzY3JpcHRpb24uaCIKICNpbmNsdWRlICJwYXJzZXIvcGFyc2Vfbm9kZS5oIgogCiBl eHRlcm4gT2JqZWN0QWRkcmVzcyBDcmVhdGVTdWJzY3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRl LCBDcmVhdGVTdWJzY3JpcHRpb25TdG10ICpzdG10LApAQCAtMjYsNCArMjcsNiBAQCBleHRlcm4g dm9pZCBEcm9wU3Vic2NyaXB0aW9uKERyb3BTdWJzY3JpcHRpb25TdG10ICpzdG10LCBib29sIGlz VG9wTGV2ZWwpOwogZXh0ZXJuIE9iamVjdEFkZHJlc3MgQWx0ZXJTdWJzY3JpcHRpb25Pd25lcihj b25zdCBjaGFyICpuYW1lLCBPaWQgbmV3T3duZXJJZCk7CiBleHRlcm4gdm9pZCBBbHRlclN1YnNj cmlwdGlvbk93bmVyX29pZChPaWQgc3ViaWQsIE9pZCBuZXdPd25lcklkKTsKIAorZXh0ZXJuIGJv b2wgSXNQYXJ0aXRpb25lZFRhYmxlUHVibGlzaGVkT25Tb3VyY2UoU3Vic2NyaXB0aW9uICpzdWIs IGNoYXIgKnNjaGVtYV9uYW1lLCBjaGFyICp0YWJsZV9uYW1lKTsKKwogI2VuZGlmCQkJCQkJCS8q IFNVQlNDUklQVElPTkNNRFNfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9wc3FsLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHNxbC5vdXQKaW5kZXgg MmEzOGE5M2EzYi4uN2M0OTc2MDVlZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9wc3FsLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BzcWwub3V0CkBA IC01OTY5LDkgKzU5NjksOSBAQCBMaXN0IG9mIHNjaGVtYXMKICgwIHJvd3MpCiAKIFxkUnAgIm5v LnN1Y2gucHVibGljYXRpb24iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9m IHB1YmxpY2F0aW9ucwotIE5hbWUgfCBPd25lciB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBk YXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLSstLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExpc3Qgb2YgcHVibGljYXRpb25zCisgTmFtZSB8IE93bmVyIHwgQWxsIHRhYmxlcyB8IEluc2Vy dHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2Ug bGV2ZWwgRERMcyB8IFRhYmxlIGxldmVsIERETHMgCistLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tCiAoMCByb3dzKQogCiBcZFJz ICJuby5zdWNoLnN1YnNjcmlwdGlvbiIKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3N1YnNjcmlwdGlv bi90LzAzMF9yZXBfZGRscy5wbCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBfZGRs cy5wbAppbmRleCA1MTEyNmI0ODliLi5hMDNkNTk4MjY2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9z dWJzY3JpcHRpb24vdC8wMzBfcmVwX2RkbHMucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9u L3QvMDMwX3JlcF9kZGxzLnBsCkBAIC00MzEsNiArNDMxLDYzIEBAICRub2RlX3B1Ymxpc2hlci0+ d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKICRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5z YWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBmcm9tIHRlc3RfcmVwIHdoZXJl IG5vbl92b2xhdGlsZSA9IDAuMDE7Iik7CiBpcygkcmVzdWx0LCBxcSgyKSwgJ0FsdGVyIHRhYmxl IGFkZCBjb2x1bW4gZGVmYXVsdCAwLjAxIGlzIHJlcGxpY2F0ZWQnKTsKIAorIyBUZXN0IHBhcnRp dGlvbmVkIHRhYmxlIGNyZWF0aW9uIGlzIHJlcGxpY2F0ZWQgYmFzZWQgb24gdGhlIHNldHRpbmcg b2YgcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsIHFxKAorICAgIENSRUFURSBUQUJMRSBzMS50ZXN0X3BhcnRfYSAoYSBpbnQs IGIgaW50LCBjIGludCkgUEFSVElUSU9OIEJZIExJU1QgKGEpOworCisgICAgQ1JFQVRFIFRBQkxF IHMxLnRlc3RfcGFydF9hXzEgUEFSVElUSU9OIE9GIHMxLnRlc3RfcGFydF9hIEZPUiBWQUxVRVMg SU4gKDEsMiwzLDQsNSk7CisgICAgQUxURVIgVEFCTEUgczEudGVzdF9wYXJ0X2FfMSBBREQgUFJJ TUFSWSBLRVkgKGEpOworICAgIEFMVEVSIFRBQkxFIHMxLnRlc3RfcGFydF9hXzEgUkVQTElDQSBJ REVOVElUWSBVU0lORyBJTkRFWCB0ZXN0X3BhcnRfYV8xX3BrZXk7CisKKyAgICBDUkVBVEUgVEFC TEUgczEudGVzdF9wYXJ0X2FfMiBQQVJUSVRJT04gT0YgczEudGVzdF9wYXJ0X2EgRk9SIFZBTFVF UyBJTiAoNiw3LDgsOSwxMCk7CisgICAgQUxURVIgVEFCTEUgczEudGVzdF9wYXJ0X2FfMiBBREQg UFJJTUFSWSBLRVkgKGIpOworICAgIEFMVEVSIFRBQkxFIHMxLnRlc3RfcGFydF9hXzIgUkVQTElD QSBJREVOVElUWSBVU0lORyBJTkRFWCB0ZXN0X3BhcnRfYV8yX3BrZXk7CisKKyAgICAtLSBpbml0 aWFsIGRhdGEsIG9uZSByb3cgaW4gZWFjaCBwYXJ0aXRpb24KKyAgICBJTlNFUlQgSU5UTyBzMS50 ZXN0X3BhcnRfYSBWQUxVRVMgKDEsIDMpOworICAgIElOU0VSVCBJTlRPIHMxLnRlc3RfcGFydF9h IFZBTFVFUyAoNiwgNCk7CispKTsKKyRyZXN1bHQgPSAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNx bCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIGZyb20gczEudGVzdF9wYXJ0X2E7Iik7Citp cygkcmVzdWx0LCBxcSgyKSwgJ1BhcnRpdGlvbmVkIHRhYmxlIGlzIGNyZWF0ZWQgYW5kIHBvcHVs YXRlZCcpOworCiskbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3ViJyk7CisK KyRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVD VCBjb3VudCgqKSBmcm9tIHMxLnRlc3RfcGFydF9hOyIpOworaXMoJHJlc3VsdCwgcXEoMiksICdQ YXJ0aXRpb25lZCB0YWJsZSBhbmQgZGF0YSBpcyByZXBsaWNhdGVkJyk7CisKKyRyZXN1bHQgPSAk bm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBm cm9tIHBnX3N1YnNjcmlwdGlvbl9yZWwgd2hlcmUgc3JyZWxpZCA9ICdzMS50ZXN0X3BhcnRfYSc6 OnJlZ2NsYXNzOjpvaWQ7Iik7CitpcygkcmVzdWx0LCBxcSgwKSwgJ1Jvb3QgdGFibGUgb2YgdGhl IHBhcnRpdGlvbmVkIHRhYmxlIGlzIG5vdCBzdWJzY3JpYmVkIHNpbmNlIHB1Ymxpc2hfdmlhX3Bh cnRpdGlvbl9yb290IGlzIGZhbHNlIGJ5IGRlZmF1bHQnKTsKKworJHJlc3VsdCA9ICRub2RlX3N1 YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIGZyb20gcGdf c3Vic2NyaXB0aW9uX3JlbCB3aGVyZSBzcnJlbGlkID0gJ3MxLnRlc3RfcGFydF9hXzEnOjpyZWdj bGFzczo6b2lkIE9SIHNycmVsaWQgPSAnczEudGVzdF9wYXJ0X2FfMic6OnJlZ2NsYXNzOjpvaWQ7 Iik7CitpcygkcmVzdWx0LCBxcSgyKSwgJ09ubHkgbGVhZiB0YWJsZXMgb2YgdGhlIHBhcnRpdGlv bmVkIHRhYmxlIGFyZSBzdWJzY3JpYmVkIHNpbmNlIHB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290 IGlzIGZhbHNlIGJ5IGRlZmF1bHQnKTsKKworIyBUZXN0IG9ubHkgcm9vdCBwYXJ0aXRpb24gdGFi bGUgaXMgc3Vic2NyaWJlZCB3aGVuIHB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290IGlzIGVuYWJs ZWQKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsIHFxKAorCURST1AgVEFC TEUgczEudGVzdF9wYXJ0X2E7CisJQUxURVIgUFVCTElDQVRJT04gbXlwdWIgU0VUIChwdWJsaXNo X3ZpYV9wYXJ0aXRpb25fcm9vdCA9IHRydWUpOworICAgIENSRUFURSBUQUJMRSBzMS50ZXN0X3Bh cnRfYSAoYSBpbnQsIGIgaW50LCBjIGludCkgUEFSVElUSU9OIEJZIExJU1QgKGEpOworCisgICAg Q1JFQVRFIFRBQkxFIHMxLnRlc3RfcGFydF9hXzEgUEFSVElUSU9OIE9GIHMxLnRlc3RfcGFydF9h IEZPUiBWQUxVRVMgSU4gKDEsMiwzLDQsNSk7CisgICAgQUxURVIgVEFCTEUgczEudGVzdF9wYXJ0 X2FfMSBBREQgUFJJTUFSWSBLRVkgKGEpOworICAgIEFMVEVSIFRBQkxFIHMxLnRlc3RfcGFydF9h XzEgUkVQTElDQSBJREVOVElUWSBVU0lORyBJTkRFWCB0ZXN0X3BhcnRfYV8xX3BrZXk7CisKKyAg ICBDUkVBVEUgVEFCTEUgczEudGVzdF9wYXJ0X2FfMiBQQVJUSVRJT04gT0YgczEudGVzdF9wYXJ0 X2EgRk9SIFZBTFVFUyBJTiAoNiw3LDgsOSwxMCk7CisgICAgQUxURVIgVEFCTEUgczEudGVzdF9w YXJ0X2FfMiBBREQgUFJJTUFSWSBLRVkgKGIpOworICAgIEFMVEVSIFRBQkxFIHMxLnRlc3RfcGFy dF9hXzIgUkVQTElDQSBJREVOVElUWSBVU0lORyBJTkRFWCB0ZXN0X3BhcnRfYV8yX3BrZXk7CisK KyAgICAtLSBpbml0aWFsIGRhdGEsIG9uZSByb3cgaW4gZWFjaCBwYXJ0aXRpb24KKyAgICBJTlNF UlQgSU5UTyBzMS50ZXN0X3BhcnRfYSBWQUxVRVMgKDEsIDMpOworICAgIElOU0VSVCBJTlRPIHMx LnRlc3RfcGFydF9hIFZBTFVFUyAoNiwgNCk7CispKTsKKworJG5vZGVfcHVibGlzaGVyLT53YWl0 X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgZnJvbSBwZ19zdWJzY3JpcHRpb25f cmVsIHdoZXJlIHNycmVsaWQgPSAnczEudGVzdF9wYXJ0X2EnOjpyZWdjbGFzczo6b2lkOyIpOwor aXMoJHJlc3VsdCwgcXEoMSksICdPbmx5IHJvb3QgdGFibGUgb2YgdGhlIHBhcnRpdGlvbmVkIHRh YmxlIGlzIHN1YnNjcmliZWQgc2luY2UgcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QgaXMgZW5h YmxlZCcpOworCiskcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsICJTRUxFQ1QgY291bnQoKikgZnJvbSBwZ19zdWJzY3JpcHRpb25fcmVsIHdoZXJlIHNycmVs aWQgPSAnczEudGVzdF9wYXJ0X2FfMSc6OnJlZ2NsYXNzOjpvaWQgT1Igc3JyZWxpZCA9ICdzMS50 ZXN0X3BhcnRfYV8yJzo6cmVnY2xhc3M6Om9pZDsiKTsKK2lzKCRyZXN1bHQsIHFxKDApLCAnTGVh ZiB0YWJsZXMgb2YgdGhlIHBhcnRpdGlvbmVkIHRhYmxlIGFyZSBub3Qgc3Vic2NyaWJlZCBzaW5j ZSBwdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdCBpcyBlbmFibGVkJyk7CisKICNUT0RPIFRFU1Qg Y2VydGFpbiBERExzIGFyZSBub3QgcmVwbGljYXRlZAogIyBUZXN0IERETCBzdGF0ZW1lbnQgdGhh dCByZXdyaXRlcyB0YWJsZSB3aXRoIHZvbGF0aWxlIGZ1bmN0aW9ucyBhcmUgbm90IHJlcGxpY2F0 ZWQKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJBTFRFUiBUQUJMRSB0 ZXN0X3JlcCBBREQgQ09MVU1OIHZvbGF0aWxlIGRvdWJsZSBwcmVjaXNpb24gREVGQVVMVCAzICog cmFuZG9tKCk7Iik7Ci0tIAoyLjMyLjAKCg== --0000000000008260cd05deeafb8c--