From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 06/11] drm: Define a drm_invalid_op ioctl implementation Date: Tue, 8 Sep 2015 13:56:26 +0200 Message-ID: <1441713391-24732-7-git-send-email-daniel.vetter@ffwll.ch> References: <1441713391-24732-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f181.google.com (mail-wi0-f181.google.com [209.85.212.181]) by gabe.freedesktop.org (Postfix) with ESMTPS id 05EE96E829 for ; Tue, 8 Sep 2015 04:53:59 -0700 (PDT) Received: by wiclk2 with SMTP id lk2so117320015wic.0 for ; Tue, 08 Sep 2015 04:53:57 -0700 (PDT) In-Reply-To: <1441713391-24732-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: DRI Development Cc: Daniel Vetter , Intel Graphics Development List-Id: dri-devel@lists.freedesktop.org QW5kIHVzZSBpdCBpbiByYWRlb24gdG8gcmVwbGFjZSBhbGwgdGhlIGlvY3RscyBubyBsb25nZXIg dmFsaWQgaW4ga21zCm1vZGUuIEkgcGxhbiB0byBhbHNvIHVzZSB0aGlzIGxhdGVyIG9uIHdoZW4g bnVraW5nIHRoZSB1bXMgc3VwcG9ydCBmb3IKaTkxNS4KCk5vdGUgdGhhdCBzZXR0aW5nIHRoZSBm dW5jdGlvbiBwb2ludGVyIGluIHRoZSBpb2N0bCB0YWJsZSB0byBOVUxMCndvdWxkIGFtb3VudCB0 byB0aGUgc2FtZSwgYnV0IHRoYXQgcmVzdWx0cyBpbiBzb21lIGRlYnVnIG91dHB1dCBmcm9tCnRo ZSBkcm1faW9jdGwoKSBmdW5jdGlvbi4gSSd2ZSBmaWd1cmVkIGl0J3MgY2xlYW5lciB0byBoYXZl IGEKc3BlY2lhbC1wdXJwb3NlIGZ1bmN0aW9uLgoKQ2M6IEFsZXggRGV1Y2hlciA8YWxleGRldWNo ZXJAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVy QGZmd2xsLmNoPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYyAgICAgICAgIHwgIDcg KysrCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9rbXMuYyB8IDk0ICsrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGluY2x1ZGUvZHJtL2RybVAuaCAgICAgICAgICAg ICAgICAgIHwgIDIgKwogMyBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCA2NyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKaW5kZXggNGQ3ZjI2NzdiMmVhLi5mMGI0ZjU4MWY2Y2Ug MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2lvY3RsLmMKQEAgLTQxNSw2ICs0MTUsMTMgQEAgaW50IGRybV9ub29wKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiB9CiBFWFBPUlRfU1lNQk9MKGRybV9ub29w KTsKIAoraW50IGRybV9pbnZhbGlkX29wKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsCisJCSAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQoreworCXJldHVybiAtRUlOVkFM OworfQorRVhQT1JUX1NZTUJPTChkcm1faW52YWxpZF9vcCk7CisKIC8qKgogICogQ29weSBhbmQg SU9DVEwgcmV0dXJuIHN0cmluZyB0byB1c2VyIHNwYWNlCiAgKi8KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb25fa21zLmMKaW5kZXggNGExMTljMjU1YmE5Li4wM2QyODViMzBjODMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ttcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX2ttcy5jCkBAIC04NDQsNzQgKzg0NCwzNCBAQCBpbnQgcmFkZW9uX2dl dF92YmxhbmtfdGltZXN0YW1wX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgY3J0YywK IAkJCQkJCSAgICAgZHJtY3J0YywgJmRybWNydGMtPmh3bW9kZSk7CiB9CiAKLSNkZWZpbmUgS01T X0lOVkFMSURfSU9DVEwobmFtZSkJCQkJCQlcCi1zdGF0aWMgaW50IG5hbWUoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlCVwKLQkJKmZpbGVfcHJpdikJ CQkJCQlcCi17CQkJCQkJCQkJXAotCURSTV9FUlJPUigiaW52YWxpZCBpb2N0bCB3aXRoIGttcyAl c1xuIiwgX19mdW5jX18pOwkJXAotCXJldHVybiAtRUlOVkFMOwkJCQkJCQlcCi19Ci0KLS8qCi0g KiBBbGwgdGhlc2UgaW9jdGxzIGFyZSBpbnZhbGlkIGluIGttcyB3b3JsZC4KLSAqLwotS01TX0lO VkFMSURfSU9DVEwocmFkZW9uX2NwX2luaXRfa21zKQotS01TX0lOVkFMSURfSU9DVEwocmFkZW9u X2NwX3N0YXJ0X2ttcykKLUtNU19JTlZBTElEX0lPQ1RMKHJhZGVvbl9jcF9zdG9wX2ttcykKLUtN U19JTlZBTElEX0lPQ1RMKHJhZGVvbl9jcF9yZXNldF9rbXMpCi1LTVNfSU5WQUxJRF9JT0NUTChy YWRlb25fY3BfaWRsZV9rbXMpCi1LTVNfSU5WQUxJRF9JT0NUTChyYWRlb25fY3BfcmVzdW1lX2tt cykKLUtNU19JTlZBTElEX0lPQ1RMKHJhZGVvbl9lbmdpbmVfcmVzZXRfa21zKQotS01TX0lOVkFM SURfSU9DVEwocmFkZW9uX2Z1bGxzY3JlZW5fa21zKQotS01TX0lOVkFMSURfSU9DVEwocmFkZW9u X2NwX3N3YXBfa21zKQotS01TX0lOVkFMSURfSU9DVEwocmFkZW9uX2NwX2NsZWFyX2ttcykKLUtN U19JTlZBTElEX0lPQ1RMKHJhZGVvbl9jcF92ZXJ0ZXhfa21zKQotS01TX0lOVkFMSURfSU9DVEwo cmFkZW9uX2NwX2luZGljZXNfa21zKQotS01TX0lOVkFMSURfSU9DVEwocmFkZW9uX2NwX3RleHR1 cmVfa21zKQotS01TX0lOVkFMSURfSU9DVEwocmFkZW9uX2NwX3N0aXBwbGVfa21zKQotS01TX0lO VkFMSURfSU9DVEwocmFkZW9uX2NwX2luZGlyZWN0X2ttcykKLUtNU19JTlZBTElEX0lPQ1RMKHJh ZGVvbl9jcF92ZXJ0ZXgyX2ttcykKLUtNU19JTlZBTElEX0lPQ1RMKHJhZGVvbl9jcF9jbWRidWZf a21zKQotS01TX0lOVkFMSURfSU9DVEwocmFkZW9uX2NwX2dldHBhcmFtX2ttcykKLUtNU19JTlZB TElEX0lPQ1RMKHJhZGVvbl9jcF9mbGlwX2ttcykKLUtNU19JTlZBTElEX0lPQ1RMKHJhZGVvbl9t ZW1fYWxsb2Nfa21zKQotS01TX0lOVkFMSURfSU9DVEwocmFkZW9uX21lbV9mcmVlX2ttcykKLUtN U19JTlZBTElEX0lPQ1RMKHJhZGVvbl9tZW1faW5pdF9oZWFwX2ttcykKLUtNU19JTlZBTElEX0lP Q1RMKHJhZGVvbl9pcnFfZW1pdF9rbXMpCi1LTVNfSU5WQUxJRF9JT0NUTChyYWRlb25faXJxX3dh aXRfa21zKQotS01TX0lOVkFMSURfSU9DVEwocmFkZW9uX2NwX3NldHBhcmFtX2ttcykKLUtNU19J TlZBTElEX0lPQ1RMKHJhZGVvbl9zdXJmYWNlX2FsbG9jX2ttcykKLUtNU19JTlZBTElEX0lPQ1RM KHJhZGVvbl9zdXJmYWNlX2ZyZWVfa21zKQotCi0KIGNvbnN0IHN0cnVjdCBkcm1faW9jdGxfZGVz YyByYWRlb25faW9jdGxzX2ttc1tdID0gewotCURSTV9JT0NUTF9ERUZfRFJWKFJBREVPTl9DUF9J TklULCByYWRlb25fY3BfaW5pdF9rbXMsIERSTV9BVVRIfERSTV9NQVNURVJ8RFJNX1JPT1RfT05M WSksCi0JRFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX0NQX1NUQVJULCByYWRlb25fY3Bfc3RhcnRf a21zLCBEUk1fQVVUSHxEUk1fTUFTVEVSfERSTV9ST09UX09OTFkpLAotCURSTV9JT0NUTF9ERUZf RFJWKFJBREVPTl9DUF9TVE9QLCByYWRlb25fY3Bfc3RvcF9rbXMsIERSTV9BVVRIfERSTV9NQVNU RVJ8RFJNX1JPT1RfT05MWSksCi0JRFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX0NQX1JFU0VULCBy YWRlb25fY3BfcmVzZXRfa21zLCBEUk1fQVVUSHxEUk1fTUFTVEVSfERSTV9ST09UX09OTFkpLAot CURSTV9JT0NUTF9ERUZfRFJWKFJBREVPTl9DUF9JRExFLCByYWRlb25fY3BfaWRsZV9rbXMsIERS TV9BVVRIKSwKLQlEUk1fSU9DVExfREVGX0RSVihSQURFT05fQ1BfUkVTVU1FLCByYWRlb25fY3Bf cmVzdW1lX2ttcywgRFJNX0FVVEgpLAotCURSTV9JT0NUTF9ERUZfRFJWKFJBREVPTl9SRVNFVCwg cmFkZW9uX2VuZ2luZV9yZXNldF9rbXMsIERSTV9BVVRIKSwKLQlEUk1fSU9DVExfREVGX0RSVihS QURFT05fRlVMTFNDUkVFTiwgcmFkZW9uX2Z1bGxzY3JlZW5fa21zLCBEUk1fQVVUSCksCi0JRFJN X0lPQ1RMX0RFRl9EUlYoUkFERU9OX1NXQVAsIHJhZGVvbl9jcF9zd2FwX2ttcywgRFJNX0FVVEgp LAotCURSTV9JT0NUTF9ERUZfRFJWKFJBREVPTl9DTEVBUiwgcmFkZW9uX2NwX2NsZWFyX2ttcywg RFJNX0FVVEgpLAotCURSTV9JT0NUTF9ERUZfRFJWKFJBREVPTl9WRVJURVgsIHJhZGVvbl9jcF92 ZXJ0ZXhfa21zLCBEUk1fQVVUSCksCi0JRFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX0lORElDRVMs IHJhZGVvbl9jcF9pbmRpY2VzX2ttcywgRFJNX0FVVEgpLAotCURSTV9JT0NUTF9ERUZfRFJWKFJB REVPTl9URVhUVVJFLCByYWRlb25fY3BfdGV4dHVyZV9rbXMsIERSTV9BVVRIKSwKLQlEUk1fSU9D VExfREVGX0RSVihSQURFT05fU1RJUFBMRSwgcmFkZW9uX2NwX3N0aXBwbGVfa21zLCBEUk1fQVVU SCksCi0JRFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX0lORElSRUNULCByYWRlb25fY3BfaW5kaXJl Y3Rfa21zLCBEUk1fQVVUSHxEUk1fTUFTVEVSfERSTV9ST09UX09OTFkpLAotCURSTV9JT0NUTF9E RUZfRFJWKFJBREVPTl9WRVJURVgyLCByYWRlb25fY3BfdmVydGV4Ml9rbXMsIERSTV9BVVRIKSwK LQlEUk1fSU9DVExfREVGX0RSVihSQURFT05fQ01EQlVGLCByYWRlb25fY3BfY21kYnVmX2ttcywg RFJNX0FVVEgpLAotCURSTV9JT0NUTF9ERUZfRFJWKFJBREVPTl9HRVRQQVJBTSwgcmFkZW9uX2Nw X2dldHBhcmFtX2ttcywgRFJNX0FVVEgpLAotCURSTV9JT0NUTF9ERUZfRFJWKFJBREVPTl9GTElQ LCByYWRlb25fY3BfZmxpcF9rbXMsIERSTV9BVVRIKSwKLQlEUk1fSU9DVExfREVGX0RSVihSQURF T05fQUxMT0MsIHJhZGVvbl9tZW1fYWxsb2Nfa21zLCBEUk1fQVVUSCksCi0JRFJNX0lPQ1RMX0RF Rl9EUlYoUkFERU9OX0ZSRUUsIHJhZGVvbl9tZW1fZnJlZV9rbXMsIERSTV9BVVRIKSwKLQlEUk1f SU9DVExfREVGX0RSVihSQURFT05fSU5JVF9IRUFQLCByYWRlb25fbWVtX2luaXRfaGVhcF9rbXMs IERSTV9BVVRIfERSTV9NQVNURVJ8RFJNX1JPT1RfT05MWSksCi0JRFJNX0lPQ1RMX0RFRl9EUlYo UkFERU9OX0lSUV9FTUlULCByYWRlb25faXJxX2VtaXRfa21zLCBEUk1fQVVUSCksCi0JRFJNX0lP Q1RMX0RFRl9EUlYoUkFERU9OX0lSUV9XQUlULCByYWRlb25faXJxX3dhaXRfa21zLCBEUk1fQVVU SCksCi0JRFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX1NFVFBBUkFNLCByYWRlb25fY3Bfc2V0cGFy YW1fa21zLCBEUk1fQVVUSCksCi0JRFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX1NVUkZfQUxMT0Ms IHJhZGVvbl9zdXJmYWNlX2FsbG9jX2ttcywgRFJNX0FVVEgpLAotCURSTV9JT0NUTF9ERUZfRFJW KFJBREVPTl9TVVJGX0ZSRUUsIHJhZGVvbl9zdXJmYWNlX2ZyZWVfa21zLCBEUk1fQVVUSCksCisJ RFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX0NQX0lOSVQsIGRybV9pbnZhbGlkX29wLCBEUk1fQVVU SHxEUk1fTUFTVEVSfERSTV9ST09UX09OTFkpLAorCURSTV9JT0NUTF9ERUZfRFJWKFJBREVPTl9D UF9TVEFSVCwgZHJtX2ludmFsaWRfb3AsIERSTV9BVVRIfERSTV9NQVNURVJ8RFJNX1JPT1RfT05M WSksCisJRFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX0NQX1NUT1AsIGRybV9pbnZhbGlkX29wLCBE Uk1fQVVUSHxEUk1fTUFTVEVSfERSTV9ST09UX09OTFkpLAorCURSTV9JT0NUTF9ERUZfRFJWKFJB REVPTl9DUF9SRVNFVCwgZHJtX2ludmFsaWRfb3AsIERSTV9BVVRIfERSTV9NQVNURVJ8RFJNX1JP T1RfT05MWSksCisJRFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX0NQX0lETEUsIGRybV9pbnZhbGlk X29wLCBEUk1fQVVUSCksCisJRFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX0NQX1JFU1VNRSwgZHJt X2ludmFsaWRfb3AsIERSTV9BVVRIKSwKKwlEUk1fSU9DVExfREVGX0RSVihSQURFT05fUkVTRVQs IGRybV9pbnZhbGlkX29wLCBEUk1fQVVUSCksCisJRFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX0ZV TExTQ1JFRU4sIGRybV9pbnZhbGlkX29wLCBEUk1fQVVUSCksCisJRFJNX0lPQ1RMX0RFRl9EUlYo UkFERU9OX1NXQVAsIGRybV9pbnZhbGlkX29wLCBEUk1fQVVUSCksCisJRFJNX0lPQ1RMX0RFRl9E UlYoUkFERU9OX0NMRUFSLCBkcm1faW52YWxpZF9vcCwgRFJNX0FVVEgpLAorCURSTV9JT0NUTF9E RUZfRFJWKFJBREVPTl9WRVJURVgsIGRybV9pbnZhbGlkX29wLCBEUk1fQVVUSCksCisJRFJNX0lP Q1RMX0RFRl9EUlYoUkFERU9OX0lORElDRVMsIGRybV9pbnZhbGlkX29wLCBEUk1fQVVUSCksCisJ RFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX1RFWFRVUkUsIGRybV9pbnZhbGlkX29wLCBEUk1fQVVU SCksCisJRFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX1NUSVBQTEUsIGRybV9pbnZhbGlkX29wLCBE Uk1fQVVUSCksCisJRFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX0lORElSRUNULCBkcm1faW52YWxp ZF9vcCwgRFJNX0FVVEh8RFJNX01BU1RFUnxEUk1fUk9PVF9PTkxZKSwKKwlEUk1fSU9DVExfREVG X0RSVihSQURFT05fVkVSVEVYMiwgZHJtX2ludmFsaWRfb3AsIERSTV9BVVRIKSwKKwlEUk1fSU9D VExfREVGX0RSVihSQURFT05fQ01EQlVGLCBkcm1faW52YWxpZF9vcCwgRFJNX0FVVEgpLAorCURS TV9JT0NUTF9ERUZfRFJWKFJBREVPTl9HRVRQQVJBTSwgZHJtX2ludmFsaWRfb3AsIERSTV9BVVRI KSwKKwlEUk1fSU9DVExfREVGX0RSVihSQURFT05fRkxJUCwgZHJtX2ludmFsaWRfb3AsIERSTV9B VVRIKSwKKwlEUk1fSU9DVExfREVGX0RSVihSQURFT05fQUxMT0MsIGRybV9pbnZhbGlkX29wLCBE Uk1fQVVUSCksCisJRFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX0ZSRUUsIGRybV9pbnZhbGlkX29w LCBEUk1fQVVUSCksCisJRFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX0lOSVRfSEVBUCwgZHJtX2lu dmFsaWRfb3AsIERSTV9BVVRIfERSTV9NQVNURVJ8RFJNX1JPT1RfT05MWSksCisJRFJNX0lPQ1RM X0RFRl9EUlYoUkFERU9OX0lSUV9FTUlULCBkcm1faW52YWxpZF9vcCwgRFJNX0FVVEgpLAorCURS TV9JT0NUTF9ERUZfRFJWKFJBREVPTl9JUlFfV0FJVCwgZHJtX2ludmFsaWRfb3AsIERSTV9BVVRI KSwKKwlEUk1fSU9DVExfREVGX0RSVihSQURFT05fU0VUUEFSQU0sIGRybV9pbnZhbGlkX29wLCBE Uk1fQVVUSCksCisJRFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX1NVUkZfQUxMT0MsIGRybV9pbnZh bGlkX29wLCBEUk1fQVVUSCksCisJRFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX1NVUkZfRlJFRSwg ZHJtX2ludmFsaWRfb3AsIERSTV9BVVRIKSwKIAkvKiBLTVMgKi8KIAlEUk1fSU9DVExfREVGX0RS VihSQURFT05fR0VNX0lORk8sIHJhZGVvbl9nZW1faW5mb19pb2N0bCwgRFJNX0FVVEh8RFJNX1VO TE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAogCURSTV9JT0NUTF9ERUZfRFJWKFJBREVPTl9HRU1f Q1JFQVRFLCByYWRlb25fZ2VtX2NyZWF0ZV9pb2N0bCwgRFJNX0FVVEh8RFJNX1VOTE9DS0VEfERS TV9SRU5ERVJfQUxMT1cpLApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtUC5oIGIvaW5jbHVk ZS9kcm0vZHJtUC5oCmluZGV4IDVlM2FjYjQ4MGQ5YS4uZmViYTM5ZTNjZjZkIDEwMDY0NAotLS0g YS9pbmNsdWRlL2RybS9kcm1QLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtUC5oCkBAIC05MDYsNiAr OTA2LDggQEAgZXh0ZXJuIHVuc2lnbmVkIGludCBkcm1fcG9sbChzdHJ1Y3QgZmlsZSAqZmlscCwg c3RydWN0IHBvbGxfdGFibGVfc3RydWN0ICp3YWl0KTsKIC8qIE1pc2MuIElPQ1RMIHN1cHBvcnQg KGRybV9pb2N0bC5jKSAqLwogaW50IGRybV9ub29wKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZv aWQgKmRhdGEsCiAJICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7CitpbnQgZHJtX2lu dmFsaWRfb3Aoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKKwkJICAgc3RydWN0 IGRybV9maWxlICpmaWxlX3ByaXYpOwogCiAvKiBDYWNoZSBtYW5hZ2VtZW50IChkcm1fY2FjaGUu YykgKi8KIHZvaWQgZHJtX2NsZmx1c2hfcGFnZXMoc3RydWN0IHBhZ2UgKnBhZ2VzW10sIHVuc2ln bmVkIGxvbmcgbnVtX3BhZ2VzKTsKLS0gCjIuNS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=