From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f67.google.com (mail-pj1-f67.google.com [209.85.216.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 068803803E8 for ; Sat, 27 Jun 2026 23:00:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.67 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782601208; cv=none; b=nDRt5KQyd5zHymrPSsKDKE44d4N6nl+pXq+78Doa8Akwrjcx5KozeiR9NSAN2kjU1EGHOBHk6RfURZ1k7pHv2od63mIC6xFIKQ0Y/YYPKz/WIARe2dgyVFt2+l8ryLy/5Jvwttm49UwZXoTRFL/g0tJ4PBNOietj6dUnavD10jk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782601208; c=relaxed/simple; bh=R7nWlGyxIDmbUXAt7RVZQoFhhOXgikvv/kP6g4wHfIY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=qHicc9l0s9fdBxZFPx1QngqpVmYex6SbCbUMKoFb6Z4mF3SwM1hClkB4UwKOBibVPexE7dVJuGL71jk3iLaP3HVM3MOxdnVjXNthPSGgQmTW5yJAQSSZgd2nuqfs2iWbXdKoWRAMKXyoj49kzXhg/EhyldodtEVWthpUUkyedf8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Ict53aJL; arc=none smtp.client-ip=209.85.216.67 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Ict53aJL" Received: by mail-pj1-f67.google.com with SMTP id 98e67ed59e1d1-37fa06b39b4so932884a91.2 for ; Sat, 27 Jun 2026 16:00:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782601204; x=1783206004; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8kpiPhqb7X2GubU1PuSh09G8TD+upmLLSOkkdZN3leE=; b=Ict53aJLzIAD6Z7aovtPuqs8zRqcshmjXUx4RcSuzaSpC8Uw6SNWg2YjXkk0mCjlWA 3TBrZspC6XEn1ErwRqb+XmnW9I2Vz9BVR/8Bl/TCs/dux9Af4ij3n/e1S/ameCMJIKQI pJCZ8NBlXBs+k3wekjP47Xyq/yTc4/5RSwwfMyiORCS08uNpOfF9ySMO1YIEZiDxAVrm 3VeEmTE2fW7h/XAexTP8rodZhMlbSkLLgUbRt93zI8WB3CNYUrHq/FsQ8W0L4/dbVq9H 6klbUlzy5XnQo9UYSC+lV1H2Gaz3SI9mIofXkXibtqjRzEFWZ1I2JJLf3rgoeR6y1KRk iIyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782601204; x=1783206004; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=8kpiPhqb7X2GubU1PuSh09G8TD+upmLLSOkkdZN3leE=; b=RmjEW3YjISIJDmgl47swoaf3intBBB0g3+dln/yu0qzKXMwKt8IwqPQ+K9zMMyH6MJ AD8PJimGBhMt+Gu7Rl4ZgrtcZVDMJcJvdU3oBHJNmQ1ETdfufLqmi6NpAAhWyWvNFJ8I /KazILkVeF7s1dLNs4WjTtKBlrTUdz5IuZL7pm6C8NI4o6N18K+7Rm/Sc82dqJApWwGT rr8cob5sArfk0Sg1vzxn1DjL9nr1tfajKN8E4MP8GaHPsuqUqi0F7zE+ZAjhbtyKAqim io8v0128Ga4OeXHD+TJPSyn172I2OMPgBp8Nscb92KBm/lqJQbNoqYtlDm98m9CPPyXl i5Rw== X-Forwarded-Encrypted: i=1; AHgh+RoHPvpdCUjV4ZU2kdZCVfKHlRJBAjGxniUk75dj+o214EzrSz/fdhXy/qRsUtMhvXQkblNVAt1RdoyZtOk=@vger.kernel.org X-Gm-Message-State: AOJu0YxfA9kNUKMxFC79MmUIq6b+8MUv9a6gWB7DO/5G7Shan/Yzdaf4 xZFaA/w3y+8eDqwR81z+mwG5SHNWspWHLBwsC1F2+It08OcTZOwvFzd1 X-Gm-Gg: AfdE7clP66/MA08PJmwRJ/Ztw7ACBPyjj5ZTcTmijBpH2s4VbkJjCPcocuGJK4z8duN wqnkTUnHABix7fsjbg3IjSYSOvBkycI4+4/TW+JmngHTB8pETq4wPdhU9AgJd/1Mp0Cwyh2j2Cr 1kRusM+Vhhf5Pz/1fdDpC7WORo694CF05kAA2X6XrJ3ThXo7fV2xHs9Z0Vq+Pv3L9riRiSTa5ay m4leXOId11+mW+nDKqhQpmh8tdXT5+BK3Fd6h7YksxmlGMiGaHCqDYwyEuUdVWFwlan4a6ODPef jQLwd2Csfv/IxEA60nUEdt9F6bxq2EZeM0kXp4XfxwWFUX5X0rCnkr7+VuXlEspHAoooyFCuseA lc1R7+zV92M1dG9thQWpOSjM9mAMhRNsTrltH0Im14WvO99RNXhwzkWJYiMqykbpdzaQhydS8Ne 4fNhMALfRf16w= X-Received: by 2002:a17:90b:28c3:b0:37f:9ce1:cdac with SMTP id 98e67ed59e1d1-37f9ce222a8mr4348779a91.26.1782601204099; Sat, 27 Jun 2026 16:00:04 -0700 (PDT) Received: from server.lan ([150.230.217.250]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-37df3b0ee6esm6313693a91.6.2026.06.27.16.00.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 27 Jun 2026 16:00:03 -0700 (PDT) From: Coia Prant To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Dragan Simic , Jonas Karlman Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Coia Prant Subject: [PATCH 3/3] arm64: dts: rockchip: Add devicetree for the Graperain G3568 v2 Date: Sun, 28 Jun 2026 06:57:58 +0800 Message-ID: <20260627225755.1710837-6-coiaprant@gmail.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260627225755.1710837-2-coiaprant@gmail.com> References: <20260627225755.1710837-2-coiaprant@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Graperain G3568 v2 is an RK3568-based development board, just like the RK3568-EVB. It always uses soldered connections between the GR3568CV2 core board and the RK3568BV2/GR3568BV2 I/O board. The G3568 board has multiple hardware revisions, and we currently support v2 (I/O board). Specification: - SoC: RockChip RK3568 ARM64 (4 cores) - eMMC: 16-128 GB - RAM: 2-16 GB - Power: DC 12V 2A - Ethernet: 2x RTL8211F RGMII (10/100/1000 Mbps) - Wireless radio: 802.11b/g/n/ac dual-band - LED: Power: AlwaysOn User: GPIO - Button: ESC: SARADC/0 <1100k µV> MENU: SARADC/0 <1400k µV> VOL-: SARADC/0 <430k µV> VOL+: SARADC/0 <50k µV> Power/Reset: PMIC RK809 - CAN CAN/1: 4-pin (PH 2.0) - PWM PWM/4: Backlight PWM/5: Backlight PWM/7: IR Receiver - UART: UART/2: Debug TTL - 1500000 8N1 (1.25mm) UART/3: TTL (PH 2.0) UART/4: TTL (PH 2.0) UART/8: AP6356S Bluetooth UART/9: TTL (PH 2.0) - I2C: I2C/0: PMIC RK809 I2C/1: Touchscreen I2C/4: Camera I2C/5: RTC@51 PCF8563 - I2S: I2S/0: HDMI Sound I2S/1: RK809 Audio Codec I2S/3: AP6356S Bluetooth Sound - SDMMC: SDMMC/0: microSD (TF) slot SDMMC/2: AP6356S SDIO WiFi card - Camera: 1x CSI - Video: HDMI / DSI0 (MIPI/LVDS) / DSI1 (MIPI/EDP) - Audio: HDMI / MIC / Speaker / SPDIF / 3.5mm Headphones / AP6356S Bluetooth - USB: USB 2.0 HOST x2 USB 2.0 OTG x1 (shared with USB 3.0 OTG/HOST) USB 3.0 HOST x1 USB 3.0 OTG/HOST x1 - SATA: 1x SATA 3.0 with Power/4-pin - PCIe: 1x PCIe 3.0 x2 (x4 connecter) Link: - https://image.chukouplus.com/upload/C_153/product_file/20211022/6daddec9e400458816dd4c57ba807fc3.pdf - https://blog.gov.cooking/archives/research-graperain-g3568-v2-and-flash.html Signed-off-by: Coia Prant --- arch/arm64/boot/dts/rockchip/Makefile | 1 + .../rockchip/rk3568-graperain-g3568-v2.dts | 894 ++++++++++++++++++ 2 files changed, 895 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3568-graperain-g3568-v2.dts diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile index 761d82b4f..6e9d049e8 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -144,6 +144,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-easepi-r1.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-v10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-fastrhino-r66s.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-fastrhino-r68s.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-graperain-g3568-v2.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-hinlink-h66k.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-hinlink-h68k.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-lubancat-2.dtb diff --git a/arch/arm64/boot/dts/rockchip/rk3568-graperain-g3568-v2.dts b/arch/arm64/boot/dts/rockchip/rk3568-graperain-g3568-v2.dts new file mode 100644 index 000000000..221992d6c --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3568-graperain-g3568-v2.dts @@ -0,0 +1,894 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) + +/dts-v1/; +#include +#include +#include +#include +#include +#include "rk3568.dtsi" + +/ { + model = "Graperain G3568 v2"; + compatible = "graperain,g3568-v2", "rockchip,rk3568"; + + aliases { + ethernet0 = &gmac0; + ethernet1 = &gmac1; + mmc0 = &sdhci; + mmc1 = &sdmmc0; + mmc2 = &sdmmc2; + rtc0 = &rtc0; + }; + + chosen { + stdout-path = "serial2:1500000n8"; + }; + + adc-keys { + compatible = "adc-keys"; + io-channels = <&saradc 0>; + io-channel-names = "buttons"; + keyup-threshold-microvolt = <1800000>; + poll-interval = <100>; + + button-esc { + label = "esc"; + linux,code = ; + press-threshold-microvolt = <1250000>; + }; + + button-menu { + label = "menu"; + linux,code = ; + press-threshold-microvolt = <1600000>; + }; + + button-vol-down { + label = "volume down"; + linux,code = ; + press-threshold-microvolt = <600000>; + }; + + button-vol-up { + label = "volume up"; + linux,code = ; + press-threshold-microvolt = <100000>; + }; + }; + + hdmi-con { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con_in: endpoint { + remote-endpoint = <&hdmi_out_con>; + }; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_work: led-0 { + gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>; + function = LED_FUNCTION_HEARTBEAT; + color = ; + linux,default-trigger = "heartbeat"; + pinctrl-names = "default"; + pinctrl-0 = <&led_work_en>; + }; + }; + + rk809-sound { + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,name = "Analog RK809"; + simple-audio-card,mclk-fs = <256>; + + simple-audio-card,cpu { + sound-dai = <&i2s1_8ch>; + }; + simple-audio-card,codec { + sound-dai = <&rk809>; + }; + }; + + pdm_codec: pdm-codec { + compatible = "dmic-codec"; + num-channels = <2>; + #sound-dai-cells = <0>; + }; + + pdm_sound: pdm-sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "microphone"; + + simple-audio-card,cpu { + sound-dai = <&pdm>; + }; + + simple-audio-card,codec { + sound-dai = <&pdm_codec>; + }; + }; + + spdif_dit: spdif-dit { + compatible = "linux,spdif-dit"; + #sound-dai-cells = <0>; + }; + + spdif_sound: spdif-sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "SPDIF"; + + simple-audio-card,cpu { + sound-dai = <&spdif>; + }; + simple-audio-card,codec { + sound-dai = <&spdif_dit>; + }; + }; + + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + clocks = <&rk809 1>; + clock-names = "ext_clock"; + pinctrl-names = "default"; + pinctrl-0 = <&wifi_enable>; + post-power-on-delay-ms = <100>; + power-off-delay-us = <300>; + reset-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>; + }; + + dc_12v: regulator-dc-12v { + compatible = "regulator-fixed"; + regulator-name = "dc_12v"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <12000000>; + regulator-max-microvolt = <12000000>; + }; + + pcie30_avdd0v9: regulator-pcie30-avdd0v9 { + compatible = "regulator-fixed"; + regulator-name = "pcie30_avdd0v9"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + vin-supply = <&vcc3v3_sys>; + }; + + pcie30_avdd1v8: regulator-pcie30-avdd1v8 { + compatible = "regulator-fixed"; + regulator-name = "pcie30_avdd1v8"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&vcc3v3_sys>; + }; + + vcc3v3_sys: regulator-vcc3v3-sys { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <&dc_12v>; + }; + + vcc3v3_pcie: regulator-vcc3v3-pcie { + compatible = "regulator-fixed"; + enable-active-high; + gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc3v3_pcie_en_pin>; + regulator-name = "vcc3v3_pcie"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + startup-delay-us = <5000>; + vin-supply = <&dc_12v>; + }; + + vcc5v0_sys: regulator-vcc5v0-sys { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&dc_12v>; + }; + + vcc5v0_usb: regulator-vcc5v0-usb { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_usb"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&dc_12v>; + }; + + vcc5v0_usb_host: regulator-vcc5v0-usb-host { + compatible = "regulator-fixed"; + enable-active-high; + gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc5v0_usb_host_en>; + regulator-name = "vcc5v0_usb_host"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&vcc5v0_usb>; + }; + + vcc5v0_usb_otg: regulator-vcc5v0-usb-otg { + compatible = "regulator-fixed"; + enable-active-high; + gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc5v0_usb_otg_en>; + regulator-name = "vcc5v0_usb_otg"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&vcc5v0_usb>; + }; +}; + +&can1 { + assigned-clocks = <&cru CLK_CAN1>; + assigned-clock-rates = <150000000>; + pinctrl-names = "default"; + pinctrl-0 = <&can1m1_pins>; + status = "okay"; +}; + +/* used for usb_host0_xhci */ +&combphy0 { + status = "okay"; +}; + +/* used for usb_host1_xhci */ +&combphy1 { + status = "okay"; +}; + +/* connected to sata2 */ +&combphy2 { + status = "okay"; +}; + +&cpu0 { + cpu-supply = <&vdd_cpu>; +}; + +&cpu1 { + cpu-supply = <&vdd_cpu>; +}; + +&cpu2 { + cpu-supply = <&vdd_cpu>; +}; + +&cpu3 { + cpu-supply = <&vdd_cpu>; +}; + +&gmac0 { + assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>; + assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>; + assigned-clock-rates = <0>, <125000000>; + clock_in_out = "output"; + pinctrl-names = "default"; + pinctrl-0 = <&gmac0_miim + &gmac0_tx_bus2 + &gmac0_rx_bus2 + &gmac0_rgmii_clk + &gmac0_rgmii_bus>; + phy-handle = <&rgmii_phy0>; + phy-mode = "rgmii-id"; + status = "okay"; +}; + +&gmac1 { + assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; + assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>; + assigned-clock-rates = <0>, <125000000>; + clock_in_out = "output"; + pinctrl-names = "default"; + pinctrl-0 = <&gmac1m1_miim + &gmac1m1_tx_bus2 + &gmac1m1_rx_bus2 + &gmac1m1_rgmii_clk + &gmac1m1_rgmii_bus>; + phy-handle = <&rgmii_phy1>; + phy-mode = "rgmii-id"; + status = "okay"; +}; + +&gpu { + mali-supply = <&vdd_gpu>; + status = "okay"; +}; + +&hdmi { + avdd-0v9-supply = <&vdda0v9_image>; + avdd-1v8-supply = <&vcca1v8_image>; + status = "okay"; +}; + +&hdmi_in { + hdmi_in_vp0: endpoint { + remote-endpoint = <&vp0_out_hdmi>; + }; +}; + +&hdmi_out { + hdmi_out_con: endpoint { + remote-endpoint = <&hdmi_con_in>; + }; +}; + +&hdmi_sound { + status = "okay"; +}; + +&i2c0 { + status = "okay"; + + vdd_cpu: regulator@1c { + compatible = "tcs,tcs4525"; + reg = <0x1c>; + fcs,suspend-voltage-selector = <1>; + regulator-name = "vdd_cpu"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1150000>; + regulator-ramp-delay = <2300>; + vin-supply = <&vcc5v0_sys>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + rk809: pmic@20 { + compatible = "rockchip,rk809"; + reg = <0x20>; + interrupt-parent = <&gpio0>; + interrupts = ; + assigned-clocks = <&cru I2S1_MCLKOUT_TX>; + assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; + #clock-cells = <1>; + clock-names = "mclk"; + clocks = <&cru I2S1_MCLKOUT_TX>; + pinctrl-names = "default"; + pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>; + system-power-controller; + #sound-dai-cells = <0>; + vcc1-supply = <&vcc3v3_sys>; + vcc2-supply = <&vcc3v3_sys>; + vcc3-supply = <&vcc3v3_sys>; + vcc4-supply = <&vcc3v3_sys>; + vcc5-supply = <&vcc3v3_sys>; + vcc6-supply = <&vcc3v3_sys>; + vcc7-supply = <&vcc3v3_sys>; + vcc8-supply = <&vcc3v3_sys>; + vcc9-supply = <&vcc3v3_sys>; + wakeup-source; + + regulators { + vdd_logic: DCDC_REG1 { + regulator-name = "vdd_logic"; + regulator-always-on; + regulator-boot-on; + regulator-initial-mode = <0x2>; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1350000>; + regulator-ramp-delay = <6001>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdd_gpu: DCDC_REG2 { + regulator-name = "vdd_gpu"; + regulator-always-on; + regulator-initial-mode = <0x2>; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1350000>; + regulator-ramp-delay = <6001>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc_ddr: DCDC_REG3 { + regulator-name = "vcc_ddr"; + regulator-always-on; + regulator-boot-on; + regulator-initial-mode = <0x2>; + + regulator-state-mem { + regulator-on-in-suspend; + }; + }; + + vdd_npu: DCDC_REG4 { + regulator-name = "vdd_npu"; + regulator-initial-mode = <0x2>; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1350000>; + regulator-ramp-delay = <6001>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc_1v8: DCDC_REG5 { + regulator-name = "vcc_1v8"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdda0v9_image: LDO_REG1 { + regulator-name = "vdda0v9_image"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdda_0v9: LDO_REG2 { + regulator-name = "vdda_0v9"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdda0v9_pmu: LDO_REG3 { + regulator-name = "vdda0v9_pmu"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <900000>; + }; + }; + + vccio_acodec: LDO_REG4 { + regulator-name = "vccio_acodec"; + regulator-always-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vccio_sd: LDO_REG5 { + regulator-name = "vccio_sd"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc3v3_pmu: LDO_REG6 { + regulator-name = "vcc3v3_pmu"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <3300000>; + }; + }; + + vcca_1v8: LDO_REG7 { + regulator-name = "vcca_1v8"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcca1v8_pmu: LDO_REG8 { + regulator-name = "vcca1v8_pmu"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <1800000>; + }; + }; + + vcca1v8_image: LDO_REG9 { + regulator-name = "vcca1v8_image"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc_3v3: SWITCH_REG1 { + regulator-name = "vcc_3v3"; + regulator-always-on; + regulator-boot-on; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc3v3_sd: SWITCH_REG2 { + regulator-name = "vcc3v3_sd"; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + }; + + codec { + rockchip,mic-in-differential; + }; + }; +}; + +&i2c5 { + status = "okay"; + + rtc0: rtc@51 { + compatible = "nxp,pcf8563"; + reg = <0x51>; + #clock-cells = <0>; + }; +}; + +&i2s0_8ch { + status = "okay"; +}; + +&i2s1_8ch { + pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_lrcktx &i2s1m0_sdi0 &i2s1m0_sdo0>; + rockchip,trcm-sync-tx-only; + status = "okay"; +}; + +/* used for AP6356S Bluetooth Sound */ +&i2s3_2ch { + status = "okay"; +}; + +&mdio0 { + rgmii_phy0: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <1>; + reset-assert-us = <20000>; + reset-deassert-us = <100000>; + reset-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + + led@2 { + reg = <2>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + }; + }; +}; + +&mdio1 { + rgmii_phy1: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <1>; + reset-assert-us = <20000>; + reset-deassert-us = <100000>; + reset-gpios = <&gpio2 RK_PD1 GPIO_ACTIVE_LOW>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + + led@2 { + reg = <2>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + }; + }; +}; + +&pcie30phy { + status = "okay"; +}; + +&pcie3x2 { + pinctrl-names = "default"; + pinctrl-0 = <&pcie_reset_pin>; + reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply = <&vcc3v3_pcie>; + status = "okay"; +}; + +&pdm { + status = "okay"; +}; + +&pinctrl { + leds { + led_work_en: led_work_en { + rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + pmic { + pmic_int: pmic_int { + rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; + + sdio-pwrseq { + wifi_enable: wifi-enable { + rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + usb { + vcc5v0_usb_host_en: vcc5v0_usb_host_en { + rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; + }; + vcc5v0_usb_otg_en: vcc5v0_usb_otg_en { + rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + pcie { + pcie_reset_pin: pcie-reset-pin { + rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; + }; + vcc3v3_pcie_en_pin: vcc3v3-pcie-en-pin { + rockchip,pins = <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; +}; + +&pmu_io_domains { + pmuio1-supply = <&vcc3v3_pmu>; + pmuio2-supply = <&vcc3v3_pmu>; + vccio1-supply = <&vccio_acodec>; + vccio2-supply = <&vcc_1v8>; + vccio3-supply = <&vccio_sd>; + vccio4-supply = <&vcc_1v8>; + vccio5-supply = <&vcc_3v3>; + vccio6-supply = <&vcc_1v8>; + vccio7-supply = <&vcc_3v3>; + status = "okay"; +}; + +&pwm4 { + status = "okay"; +}; + +&pwm5 { + status = "okay"; +}; + +/* Required remotectl for IR receiver */ +&pwm7 { + status = "disabled"; +}; + +&saradc { + vref-supply = <&vcca_1v8>; + status = "okay"; +}; + +&sata2 { + status = "okay"; +}; + +/* used for eMMC */ +&sdhci { + bus-width = <8>; + max-frequency = <200000000>; + mmc-hs200-1_8v; + non-removable; + pinctrl-names = "default"; + pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>; + status = "okay"; +}; + +/* used for microSD (TF) Slot */ +&sdmmc0 { + bus-width = <4>; + cap-sd-highspeed; + cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; + disable-wp; + pinctrl-names = "default"; + pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; + sd-uhs-sdr104; + vmmc-supply = <&vcc3v3_sd>; + vqmmc-supply = <&vccio_sd>; + status = "okay"; +}; + +/* used for AP6356S WiFi */ +&sdmmc2 { + bus-width = <4>; + cap-sd-highspeed; + cap-sdio-irq; + keep-power-in-suspend; + mmc-pwrseq = <&sdio_pwrseq>; + non-removable; + pinctrl-names = "default"; + pinctrl-0 = <&sdmmc2m0_bus4 &sdmmc2m0_cmd &sdmmc2m0_clk>; + sd-uhs-sdr104; + vmmc-supply = <&vcc3v3_sys>; + vqmmc-supply = <&vcc_1v8>; + status = "okay"; +}; + +&spdif { + status = "okay"; +}; + +&tsadc { + rockchip,hw-tshut-mode = <1>; + rockchip,hw-tshut-polarity = <0>; + status = "okay"; +}; + +/* used for Debug */ +&uart2 { + status = "okay"; +}; + +&uart3 { + pinctrl-0 = <&uart3m1_xfer>; + status = "okay"; +}; + +&uart4 { + pinctrl-0 = <&uart4m1_xfer>; + status = "okay"; +}; + +/* used for WiFi/BT AP6356S */ +&uart8 { + pinctrl-0 = <&uart8m0_xfer &uart8m0_ctsn>; + status = "okay"; +}; + +&uart9 { + pinctrl-0 = <&uart9m1_xfer>; + status = "okay"; +}; + +&usb_host0_ehci { + status = "okay"; +}; + +&usb_host0_ohci { + status = "okay"; +}; + +&usb_host0_xhci { + extcon = <&usb2phy0>; + status = "okay"; +}; + +&usb_host1_ehci { + status = "okay"; +}; + +&usb_host1_ohci { + status = "okay"; +}; + +&usb_host1_xhci { + status = "okay"; +}; + +&usb2phy0 { + status = "okay"; +}; + +&usb2phy0_host { + phy-supply = <&vcc5v0_usb_host>; + status = "okay"; +}; + +&usb2phy0_otg { + phy-supply = <&vcc5v0_usb_otg>; + status = "okay"; +}; + +&usb2phy1 { + status = "okay"; +}; + +&usb2phy1_host { + phy-supply = <&vcc5v0_usb_host>; + status = "okay"; +}; + +&usb2phy1_otg { + phy-supply = <&vcc5v0_usb_host>; + status = "okay"; +}; + +&vop { + assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; + assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; + status = "okay"; +}; + +&vop_mmu { + status = "okay"; +}; + +&vp0 { + vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { + reg = ; + remote-endpoint = <&hdmi_in_vp0>; + }; +}; -- 2.47.3 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4C2A4C43327 for ; Sat, 27 Jun 2026 23:00:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Oi01fvfQOG22hYZYySkIrJWHn/apLzk2jU0MRhg5A+M=; b=L1E9xTD2YqPCX0 wHSEFoBDuOxQcY7W1/Isz72iUwJTNW90+PFLgE8csDso6q0ewLK82rBcGNDjqbpfo2rzXNp156DJy UihbfZgsAtbNeYaNzJdDgr0abRlPId8oZbeJ+E7AMRfZgcpzBsskoQ+8JwRxcOC1TfuImO0dXSU8i ezzEZdjG1dpkvJO1tXPqbQNGpmHim3AhVAUffrSHbuSHOLQOLgELq4VV9ANQZswOwofnb5CiLVAc9 IrIx0VDQUpzChB2n976byVp4A+ley3j5CiRkp7BmcfxsvOstqU7+rLbc8Bfyq+LHuVnvxDhDnsfKA TyXosP206DswwJx9tW9Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wdc0N-0000000Cojf-1q2W; Sat, 27 Jun 2026 23:00:07 +0000 Received: from mail-pj1-x1043.google.com ([2607:f8b0:4864:20::1043]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wdc0K-0000000Coiz-3zvE for linux-rockchip@lists.infradead.org; Sat, 27 Jun 2026 23:00:06 +0000 Received: by mail-pj1-x1043.google.com with SMTP id 98e67ed59e1d1-37cab825ec9so1729093a91.1 for ; Sat, 27 Jun 2026 16:00:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782601204; x=1783206004; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8kpiPhqb7X2GubU1PuSh09G8TD+upmLLSOkkdZN3leE=; b=My1DYjMBBnIQFc8MQxFLzdYoP0wfMvtMT7bpug7p/EgGaCtr3tPiwjaT/gwsSAw4h2 wGF7gnxnFxXAKPEgX/YsRMUdNvl/3Gu0QbgF5Aror2UtVYbw1Ol+aOEinvrbOsBTNdqw avOnmnTuzIvaYR1HFtVKiCW+r7EpSB2f10I/+ESXAJ16vy+7dHYjSuY9bnPVyrFLr2Qu 1uzNfWutPmE46KySBbXAddBswsRyD3uMKtpAtSbBPmOEK6yGtJfFybi+au4dnswp9I6Y xmd6f7u/Nq/AcptZat3vhbXm76NMnUp3rryS0ZYIDJk/KiWs3vnPvUWeg8rKqzg/ef66 5+sQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782601204; x=1783206004; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=8kpiPhqb7X2GubU1PuSh09G8TD+upmLLSOkkdZN3leE=; b=hnuXzHMnzyagISWi55pUaaV3pZswiR90FGnNE/uAujymKABNyRl6f2fYUskLJuk/Ja H+i/Es+ejv7Tvk+eTDFtiklfnhfwDxhW/2+ioe+nv3ec5H9X/FzKj9py7bjVvefds8Zj AV+EvhAFb//kXeRtGlfVwlJZo4m8YLVbXSsnjHHowlOLa2Hqpt9DNTDH1UtMhwl2GxN6 PeecNiqNgX2/Gx32hAKznJOcmPg/2elIOw20GSfIqThWgm3A9/bic2AvYOq3cPrxgoqw RTw16PKg9cMAkjLaYmkxVbIkGaLz7yGymEn0svaCEVURdGQb8Cryc2W7s423p0m9k4oG S+pQ== X-Forwarded-Encrypted: i=1; AHgh+RqWILSxVkIPSQYPNQKIROA+en2E4GZzF2fsidG5M4sWLDSba/Gq6lGc0d12jkC0hljs49Jsub4eesuEyEjDyQ==@lists.infradead.org X-Gm-Message-State: AOJu0Yzww2E/fqbUxJNrQ8nCCyElAf29teOdRAm1dcTac5S9sSiIyhNO fbVyfYSWHBr/J3QGp+KVlApIAS87UEgQ20p4aC/ZRdgX4XlUYXHfSgJq X-Gm-Gg: AfdE7clwb2a6VjwLl8i62vISQ5RjR+7ViURGPEf0G8qkmLxCgwVpTfr4nB9OkYPVnUm afIL9FI6hA+ytvRQzSMqQkcEOlgDtIBhUY1ZlD0YM+6BKrV14V2r2BiHYdAAyhkCsrIYDghXXko p2Q5h+moA7HHjWjZQrtAsiHWSbFUwzViTMSGj/vT/ViGbwqqgJQyX7qdVzk1cM5/AX5WOWiumyT Tzs0+n5WnGiMOYo519FYyfeSeBaVDvS7fNnOEBQOGxpeu7BdjRtmB5ECaKPvh1pcGV6yTr39nJz VChpkY5zcyZ41LMZGh2ab2PKSLYehFD/GpbAWhRCMFeBO5KQZCpJBpNBzUuiO34Tge9ZN/Kde3y CPeRiqGdOLBj9+LjZ71adShiCe0XxIULbW3ioTn/R1h3iXpfbRiD64JLMj7vjkz4hNz++De9xeS KOJW3zRf/9v+o= X-Received: by 2002:a17:90b:28c3:b0:37f:9ce1:cdac with SMTP id 98e67ed59e1d1-37f9ce222a8mr4348779a91.26.1782601204099; Sat, 27 Jun 2026 16:00:04 -0700 (PDT) Received: from server.lan ([150.230.217.250]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-37df3b0ee6esm6313693a91.6.2026.06.27.16.00.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 27 Jun 2026 16:00:03 -0700 (PDT) From: Coia Prant To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Dragan Simic , Jonas Karlman Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Coia Prant Subject: [PATCH 3/3] arm64: dts: rockchip: Add devicetree for the Graperain G3568 v2 Date: Sun, 28 Jun 2026 06:57:58 +0800 Message-ID: <20260627225755.1710837-6-coiaprant@gmail.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260627225755.1710837-2-coiaprant@gmail.com> References: <20260627225755.1710837-2-coiaprant@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260627_160005_028131_65064C9D X-CRM114-Status: GOOD ( 15.06 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org VGhlIEdyYXBlcmFpbiBHMzU2OCB2MiBpcyBhbiBSSzM1NjgtYmFzZWQgZGV2ZWxvcG1lbnQgYm9h cmQsIGp1c3QgbGlrZSB0aGUgUkszNTY4LUVWQi4KSXQgYWx3YXlzIHVzZXMgc29sZGVyZWQgY29u bmVjdGlvbnMgYmV0d2VlbiB0aGUgR1IzNTY4Q1YyIGNvcmUgYm9hcmQgYW5kIHRoZQogUkszNTY4 QlYyL0dSMzU2OEJWMiBJL08gYm9hcmQuCgpUaGUgRzM1NjggYm9hcmQgaGFzIG11bHRpcGxlIGhh cmR3YXJlIHJldmlzaW9ucywgYW5kIHdlIGN1cnJlbnRseSBzdXBwb3J0IHYyIChJL08gYm9hcmQp LgoKU3BlY2lmaWNhdGlvbjoKLSBTb0M6IFJvY2tDaGlwIFJLMzU2OCBBUk02NCAoNCBjb3JlcykK LSBlTU1DOiAxNi0xMjggR0IKLSBSQU06IDItMTYgR0IKLSBQb3dlcjogREMgMTJWIDJBCi0gRXRo ZXJuZXQ6IDJ4IFJUTDgyMTFGIFJHTUlJICgxMC8xMDAvMTAwMCBNYnBzKQotIFdpcmVsZXNzIHJh ZGlvOiA4MDIuMTFiL2cvbi9hYyBkdWFsLWJhbmQKLSBMRUQ6CiAgUG93ZXI6IEFsd2F5c09uCiAg VXNlcjogR1BJTwotIEJ1dHRvbjoKICBFU0M6IFNBUkFEQy8wIDwxMTAwayDCtVY+CiAgTUVOVTog U0FSQURDLzAgPDE0MDBrIMK1Vj4KICBWT0wtOiBTQVJBREMvMCA8NDMwayDCtVY+CiAgVk9MKzog U0FSQURDLzAgPDUwayDCtVY+CiAgUG93ZXIvUmVzZXQ6IFBNSUMgUks4MDkKLSBDQU4KICBDQU4v MTogNC1waW4gKFBIIDIuMCkKLSBQV00KICBQV00vNDogQmFja2xpZ2h0CiAgUFdNLzU6IEJhY2ts aWdodAogIFBXTS83OiBJUiBSZWNlaXZlcgotIFVBUlQ6CiAgVUFSVC8yOiBEZWJ1ZyBUVEwgLSAx NTAwMDAwIDhOMSAoMS4yNW1tKQogIFVBUlQvMzogVFRMIChQSCAyLjApCiAgVUFSVC80OiBUVEwg KFBIIDIuMCkKICBVQVJULzg6IEFQNjM1NlMgQmx1ZXRvb3RoCiAgVUFSVC85OiBUVEwgKFBIIDIu MCkKLSBJMkM6CiAgSTJDLzA6IFBNSUMgUks4MDkKICBJMkMvMTogVG91Y2hzY3JlZW4KICBJMkMv NDogQ2FtZXJhCiAgSTJDLzU6IFJUQ0A1MSBQQ0Y4NTYzCi0gSTJTOgogIEkyUy8wOiBIRE1JIFNv dW5kCiAgSTJTLzE6IFJLODA5IEF1ZGlvIENvZGVjCiAgSTJTLzM6IEFQNjM1NlMgQmx1ZXRvb3Ro IFNvdW5kCi0gU0RNTUM6CiAgU0RNTUMvMDogbWljcm9TRCAoVEYpIHNsb3QKICBTRE1NQy8yOiBB UDYzNTZTIFNESU8gV2lGaSBjYXJkCi0gQ2FtZXJhOiAxeCBDU0kKLSBWaWRlbzogSERNSSAvIERT STAgKE1JUEkvTFZEUykgLyBEU0kxIChNSVBJL0VEUCkKLSBBdWRpbzogSERNSSAvIE1JQyAvIFNw ZWFrZXIgLyBTUERJRiAvIDMuNW1tIEhlYWRwaG9uZXMgLyBBUDYzNTZTIEJsdWV0b290aAotIFVT QjoKICBVU0IgMi4wIEhPU1QgeDIKICBVU0IgMi4wIE9URyB4MSAoc2hhcmVkIHdpdGggVVNCIDMu MCBPVEcvSE9TVCkKICBVU0IgMy4wIEhPU1QgeDEKICBVU0IgMy4wIE9URy9IT1NUIHgxCi0gU0FU QTogMXggU0FUQSAzLjAgd2l0aCBQb3dlci80LXBpbgotIFBDSWU6IDF4IFBDSWUgMy4wIHgyICh4 NCBjb25uZWN0ZXIpCgpMaW5rOgotIGh0dHBzOi8vaW1hZ2UuY2h1a291cGx1cy5jb20vdXBsb2Fk L0NfMTUzL3Byb2R1Y3RfZmlsZS8yMDIxMTAyMi82ZGFkZGVjOWU0MDA0NTg4MTZkZDRjNTdiYTgw N2ZjMy5wZGYKLSBodHRwczovL2Jsb2cuZ292LmNvb2tpbmcvYXJjaGl2ZXMvcmVzZWFyY2gtZ3Jh cGVyYWluLWczNTY4LXYyLWFuZC1mbGFzaC5odG1sCgpTaWduZWQtb2ZmLWJ5OiBDb2lhIFByYW50 IDxjb2lhcHJhbnRAZ21haWwuY29tPgotLS0KIGFyY2gvYXJtNjQvYm9vdC9kdHMvcm9ja2NoaXAv TWFrZWZpbGUgICAgICAgICB8ICAgMSArCiAuLi4vcm9ja2NoaXAvcmszNTY4LWdyYXBlcmFpbi1n MzU2OC12Mi5kdHMgICAgfCA4OTQgKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQs IDg5NSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm02NC9ib290L2R0 cy9yb2NrY2hpcC9yazM1NjgtZ3JhcGVyYWluLWczNTY4LXYyLmR0cwoKZGlmZiAtLWdpdCBhL2Fy Y2gvYXJtNjQvYm9vdC9kdHMvcm9ja2NoaXAvTWFrZWZpbGUgYi9hcmNoL2FybTY0L2Jvb3QvZHRz L3JvY2tjaGlwL01ha2VmaWxlCmluZGV4IDc2MWQ4MmI0Zi4uNmU5ZDA0OWU4IDEwMDY0NAotLS0g YS9hcmNoL2FybTY0L2Jvb3QvZHRzL3JvY2tjaGlwL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtNjQv Ym9vdC9kdHMvcm9ja2NoaXAvTWFrZWZpbGUKQEAgLTE0NCw2ICsxNDQsNyBAQCBkdGItJChDT05G SUdfQVJDSF9ST0NLQ0hJUCkgKz0gcmszNTY4LWVhc2VwaS1yMS5kdGIKIGR0Yi0kKENPTkZJR19B UkNIX1JPQ0tDSElQKSArPSByazM1NjgtZXZiMS12MTAuZHRiCiBkdGItJChDT05GSUdfQVJDSF9S T0NLQ0hJUCkgKz0gcmszNTY4LWZhc3RyaGluby1yNjZzLmR0YgogZHRiLSQoQ09ORklHX0FSQ0hf Uk9DS0NISVApICs9IHJrMzU2OC1mYXN0cmhpbm8tcjY4cy5kdGIKK2R0Yi0kKENPTkZJR19BUkNI X1JPQ0tDSElQKSArPSByazM1NjgtZ3JhcGVyYWluLWczNTY4LXYyLmR0YgogZHRiLSQoQ09ORklH X0FSQ0hfUk9DS0NISVApICs9IHJrMzU2OC1oaW5saW5rLWg2NmsuZHRiCiBkdGItJChDT05GSUdf QVJDSF9ST0NLQ0hJUCkgKz0gcmszNTY4LWhpbmxpbmstaDY4ay5kdGIKIGR0Yi0kKENPTkZJR19B UkNIX1JPQ0tDSElQKSArPSByazM1NjgtbHViYW5jYXQtMi5kdGIKZGlmZiAtLWdpdCBhL2FyY2gv YXJtNjQvYm9vdC9kdHMvcm9ja2NoaXAvcmszNTY4LWdyYXBlcmFpbi1nMzU2OC12Mi5kdHMgYi9h cmNoL2FybTY0L2Jvb3QvZHRzL3JvY2tjaGlwL3JrMzU2OC1ncmFwZXJhaW4tZzM1NjgtdjIuZHRz Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMjIxOTkyZDZjCi0tLSAvZGV2 L251bGwKKysrIGIvYXJjaC9hcm02NC9ib290L2R0cy9yb2NrY2hpcC9yazM1NjgtZ3JhcGVyYWlu LWczNTY4LXYyLmR0cwpAQCAtMCwwICsxLDg5NCBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IChHUEwtMi4wKyBPUiBNSVQpCisKKy9kdHMtdjEvOworI2luY2x1ZGUgPGR0LWJpbmRpbmdz L2dwaW8vZ3Bpby5oPgorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2lucHV0L2lucHV0Lmg+CisjaW5j bHVkZSA8ZHQtYmluZGluZ3MvbGVkcy9jb21tb24uaD4KKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9w aW5jdHJsL3JvY2tjaGlwLmg+CisjaW5jbHVkZSA8ZHQtYmluZGluZ3Mvc29jL3JvY2tjaGlwLHZv cDIuaD4KKyNpbmNsdWRlICJyazM1NjguZHRzaSIKKworLyB7CisJbW9kZWwgPSAiR3JhcGVyYWlu IEczNTY4IHYyIjsKKwljb21wYXRpYmxlID0gImdyYXBlcmFpbixnMzU2OC12MiIsICJyb2NrY2hp cCxyazM1NjgiOworCisJYWxpYXNlcyB7CisJCWV0aGVybmV0MCA9ICZnbWFjMDsKKwkJZXRoZXJu ZXQxID0gJmdtYWMxOworCQltbWMwID0gJnNkaGNpOworCQltbWMxID0gJnNkbW1jMDsKKwkJbW1j MiA9ICZzZG1tYzI7CisJCXJ0YzAgPSAmcnRjMDsKKwl9OworCisJY2hvc2VuIHsKKwkJc3Rkb3V0 LXBhdGggPSAic2VyaWFsMjoxNTAwMDAwbjgiOworCX07CisKKwlhZGMta2V5cyB7CisJCWNvbXBh dGlibGUgPSAiYWRjLWtleXMiOworCQlpby1jaGFubmVscyA9IDwmc2FyYWRjIDA+OworCQlpby1j aGFubmVsLW5hbWVzID0gImJ1dHRvbnMiOworCQlrZXl1cC10aHJlc2hvbGQtbWljcm92b2x0ID0g PDE4MDAwMDA+OworCQlwb2xsLWludGVydmFsID0gPDEwMD47CisKKwkJYnV0dG9uLWVzYyB7CisJ CQlsYWJlbCA9ICJlc2MiOworCQkJbGludXgsY29kZSA9IDxLRVlfRVNDPjsKKwkJCXByZXNzLXRo cmVzaG9sZC1taWNyb3ZvbHQgPSA8MTI1MDAwMD47CisJCX07CisKKwkJYnV0dG9uLW1lbnUgewor CQkJbGFiZWwgPSAibWVudSI7CisJCQlsaW51eCxjb2RlID0gPEtFWV9NRU5VPjsKKwkJCXByZXNz LXRocmVzaG9sZC1taWNyb3ZvbHQgPSA8MTYwMDAwMD47CisJCX07CisKKwkJYnV0dG9uLXZvbC1k b3duIHsKKwkJCWxhYmVsID0gInZvbHVtZSBkb3duIjsKKwkJCWxpbnV4LGNvZGUgPSA8S0VZX1ZP TFVNRURPV04+OworCQkJcHJlc3MtdGhyZXNob2xkLW1pY3Jvdm9sdCA9IDw2MDAwMDA+OworCQl9 OworCisJCWJ1dHRvbi12b2wtdXAgeworCQkJbGFiZWwgPSAidm9sdW1lIHVwIjsKKwkJCWxpbnV4 LGNvZGUgPSA8S0VZX1ZPTFVNRVVQPjsKKwkJCXByZXNzLXRocmVzaG9sZC1taWNyb3ZvbHQgPSA8 MTAwMDAwPjsKKwkJfTsKKwl9OworCisJaGRtaS1jb24geworCQljb21wYXRpYmxlID0gImhkbWkt Y29ubmVjdG9yIjsKKwkJdHlwZSA9ICJhIjsKKworCQlwb3J0IHsKKwkJCWhkbWlfY29uX2luOiBl bmRwb2ludCB7CisJCQkJcmVtb3RlLWVuZHBvaW50ID0gPCZoZG1pX291dF9jb24+OworCQkJfTsK KwkJfTsKKwl9OworCisJbGVkcyB7CisJCWNvbXBhdGlibGUgPSAiZ3Bpby1sZWRzIjsKKworCQls ZWRfd29yazogbGVkLTAgeworCQkJZ3Bpb3MgPSA8JmdwaW8wIFJLX1BDMCBHUElPX0FDVElWRV9I SUdIPjsKKwkJCWZ1bmN0aW9uID0gTEVEX0ZVTkNUSU9OX0hFQVJUQkVBVDsKKwkJCWNvbG9yID0g PExFRF9DT0xPUl9JRF9CTFVFPjsKKwkJCWxpbnV4LGRlZmF1bHQtdHJpZ2dlciA9ICJoZWFydGJl YXQiOworCQkJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKKwkJCXBpbmN0cmwtMCA9IDwmbGVk X3dvcmtfZW4+OworCQl9OworCX07CisKKwlyazgwOS1zb3VuZCB7CisJCWNvbXBhdGlibGUgPSAi c2ltcGxlLWF1ZGlvLWNhcmQiOworCQlzaW1wbGUtYXVkaW8tY2FyZCxmb3JtYXQgPSAiaTJzIjsK KwkJc2ltcGxlLWF1ZGlvLWNhcmQsbmFtZSA9ICJBbmFsb2cgUks4MDkiOworCQlzaW1wbGUtYXVk aW8tY2FyZCxtY2xrLWZzID0gPDI1Nj47CisKKwkJc2ltcGxlLWF1ZGlvLWNhcmQsY3B1IHsKKwkJ CXNvdW5kLWRhaSA9IDwmaTJzMV84Y2g+OworCQl9OworCQlzaW1wbGUtYXVkaW8tY2FyZCxjb2Rl YyB7CisJCQlzb3VuZC1kYWkgPSA8JnJrODA5PjsKKwkJfTsKKwl9OworCisJcGRtX2NvZGVjOiBw ZG0tY29kZWMgeworCQljb21wYXRpYmxlID0gImRtaWMtY29kZWMiOworCQludW0tY2hhbm5lbHMg PSA8Mj47CisJCSNzb3VuZC1kYWktY2VsbHMgPSA8MD47CisJfTsKKworCXBkbV9zb3VuZDogcGRt LXNvdW5kIHsKKwkJY29tcGF0aWJsZSA9ICJzaW1wbGUtYXVkaW8tY2FyZCI7CisJCXNpbXBsZS1h dWRpby1jYXJkLG5hbWUgPSAibWljcm9waG9uZSI7CisKKwkJc2ltcGxlLWF1ZGlvLWNhcmQsY3B1 IHsKKwkJCXNvdW5kLWRhaSA9IDwmcGRtPjsKKwkJfTsKKworCQlzaW1wbGUtYXVkaW8tY2FyZCxj b2RlYyB7CisJCQlzb3VuZC1kYWkgPSA8JnBkbV9jb2RlYz47CisJCX07CisJfTsKKworCXNwZGlm X2RpdDogc3BkaWYtZGl0IHsKKwkJY29tcGF0aWJsZSA9ICJsaW51eCxzcGRpZi1kaXQiOworCQkj c291bmQtZGFpLWNlbGxzID0gPDA+OworCX07CisKKwlzcGRpZl9zb3VuZDogc3BkaWYtc291bmQg eworCQljb21wYXRpYmxlID0gInNpbXBsZS1hdWRpby1jYXJkIjsKKwkJc2ltcGxlLWF1ZGlvLWNh cmQsbmFtZSA9ICJTUERJRiI7CisKKwkJc2ltcGxlLWF1ZGlvLWNhcmQsY3B1IHsKKwkJCXNvdW5k LWRhaSA9IDwmc3BkaWY+OworCQl9OworCQlzaW1wbGUtYXVkaW8tY2FyZCxjb2RlYyB7CisJCQlz b3VuZC1kYWkgPSA8JnNwZGlmX2RpdD47CisJCX07CisJfTsKKworCXNkaW9fcHdyc2VxOiBzZGlv LXB3cnNlcSB7CisJCWNvbXBhdGlibGUgPSAibW1jLXB3cnNlcS1zaW1wbGUiOworCQljbG9ja3Mg PSA8JnJrODA5IDE+OworCQljbG9jay1uYW1lcyA9ICJleHRfY2xvY2siOworCQlwaW5jdHJsLW5h bWVzID0gImRlZmF1bHQiOworCQlwaW5jdHJsLTAgPSA8JndpZmlfZW5hYmxlPjsKKwkJcG9zdC1w b3dlci1vbi1kZWxheS1tcyA9IDwxMDA+OworCQlwb3dlci1vZmYtZGVsYXktdXMgPSA8MzAwPjsK KwkJcmVzZXQtZ3Bpb3MgPSA8JmdwaW8zIFJLX1BENSBHUElPX0FDVElWRV9MT1c+OworCX07CisK KwlkY18xMnY6IHJlZ3VsYXRvci1kYy0xMnYgeworCQljb21wYXRpYmxlID0gInJlZ3VsYXRvci1m aXhlZCI7CisJCXJlZ3VsYXRvci1uYW1lID0gImRjXzEydiI7CisJCXJlZ3VsYXRvci1hbHdheXMt b247CisJCXJlZ3VsYXRvci1ib290LW9uOworCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDwx MjAwMDAwMD47CisJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDEyMDAwMDAwPjsKKwl9Owor CisJcGNpZTMwX2F2ZGQwdjk6IHJlZ3VsYXRvci1wY2llMzAtYXZkZDB2OSB7CisJCWNvbXBhdGli bGUgPSAicmVndWxhdG9yLWZpeGVkIjsKKwkJcmVndWxhdG9yLW5hbWUgPSAicGNpZTMwX2F2ZGQw djkiOworCQlyZWd1bGF0b3ItYWx3YXlzLW9uOworCQlyZWd1bGF0b3ItYm9vdC1vbjsKKwkJcmVn dWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8OTAwMDAwPjsKKwkJcmVndWxhdG9yLW1heC1taWNyb3Zv bHQgPSA8OTAwMDAwPjsKKwkJdmluLXN1cHBseSA9IDwmdmNjM3YzX3N5cz47CisJfTsKKworCXBj aWUzMF9hdmRkMXY4OiByZWd1bGF0b3ItcGNpZTMwLWF2ZGQxdjggeworCQljb21wYXRpYmxlID0g InJlZ3VsYXRvci1maXhlZCI7CisJCXJlZ3VsYXRvci1uYW1lID0gInBjaWUzMF9hdmRkMXY4IjsK KwkJcmVndWxhdG9yLWFsd2F5cy1vbjsKKwkJcmVndWxhdG9yLWJvb3Qtb247CisJCXJlZ3VsYXRv ci1taW4tbWljcm92b2x0ID0gPDE4MDAwMDA+OworCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9 IDwxODAwMDAwPjsKKwkJdmluLXN1cHBseSA9IDwmdmNjM3YzX3N5cz47CisJfTsKKworCXZjYzN2 M19zeXM6IHJlZ3VsYXRvci12Y2MzdjMtc3lzIHsKKwkJY29tcGF0aWJsZSA9ICJyZWd1bGF0b3It Zml4ZWQiOworCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2MzdjNfc3lzIjsKKwkJcmVndWxhdG9yLWFs d2F5cy1vbjsKKwkJcmVndWxhdG9yLWJvb3Qtb247CisJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0 ID0gPDMzMDAwMDA+OworCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwzMzAwMDAwPjsKKwkJ dmluLXN1cHBseSA9IDwmZGNfMTJ2PjsKKwl9OworCisJdmNjM3YzX3BjaWU6IHJlZ3VsYXRvci12 Y2MzdjMtcGNpZSB7CisJCWNvbXBhdGlibGUgPSAicmVndWxhdG9yLWZpeGVkIjsKKwkJZW5hYmxl LWFjdGl2ZS1oaWdoOworCQlncGlvcyA9IDwmZ3BpbzMgUktfUEMzIEdQSU9fQUNUSVZFX0hJR0g+ OworCQlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOworCQlwaW5jdHJsLTAgPSA8JnZjYzN2M19w Y2llX2VuX3Bpbj47CisJCXJlZ3VsYXRvci1uYW1lID0gInZjYzN2M19wY2llIjsKKwkJcmVndWxh dG9yLW1pbi1taWNyb3ZvbHQgPSA8MzMwMDAwMD47CisJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0 ID0gPDMzMDAwMDA+OworCQlzdGFydHVwLWRlbGF5LXVzID0gPDUwMDA+OworCQl2aW4tc3VwcGx5 ID0gPCZkY18xMnY+OworCX07CisKKwl2Y2M1djBfc3lzOiByZWd1bGF0b3ItdmNjNXYwLXN5cyB7 CisJCWNvbXBhdGlibGUgPSAicmVndWxhdG9yLWZpeGVkIjsKKwkJcmVndWxhdG9yLW5hbWUgPSAi dmNjNXYwX3N5cyI7CisJCXJlZ3VsYXRvci1hbHdheXMtb247CisJCXJlZ3VsYXRvci1ib290LW9u OworCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDw1MDAwMDAwPjsKKwkJcmVndWxhdG9yLW1h eC1taWNyb3ZvbHQgPSA8NTAwMDAwMD47CisJCXZpbi1zdXBwbHkgPSA8JmRjXzEydj47CisJfTsK KworCXZjYzV2MF91c2I6IHJlZ3VsYXRvci12Y2M1djAtdXNiIHsKKwkJY29tcGF0aWJsZSA9ICJy ZWd1bGF0b3ItZml4ZWQiOworCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2M1djBfdXNiIjsKKwkJcmVn dWxhdG9yLWFsd2F5cy1vbjsKKwkJcmVndWxhdG9yLWJvb3Qtb247CisJCXJlZ3VsYXRvci1taW4t bWljcm92b2x0ID0gPDUwMDAwMDA+OworCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDw1MDAw MDAwPjsKKwkJdmluLXN1cHBseSA9IDwmZGNfMTJ2PjsKKwl9OworCisJdmNjNXYwX3VzYl9ob3N0 OiByZWd1bGF0b3ItdmNjNXYwLXVzYi1ob3N0IHsKKwkJY29tcGF0aWJsZSA9ICJyZWd1bGF0b3It Zml4ZWQiOworCQllbmFibGUtYWN0aXZlLWhpZ2g7CisJCWdwaW8gPSA8JmdwaW8wIFJLX1BBNiBH UElPX0FDVElWRV9ISUdIPjsKKwkJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKKwkJcGluY3Ry bC0wID0gPCZ2Y2M1djBfdXNiX2hvc3RfZW4+OworCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2M1djBf dXNiX2hvc3QiOworCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDw1MDAwMDAwPjsKKwkJcmVn dWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8NTAwMDAwMD47CisJCXZpbi1zdXBwbHkgPSA8JnZjYzV2 MF91c2I+OworCX07CisKKwl2Y2M1djBfdXNiX290ZzogcmVndWxhdG9yLXZjYzV2MC11c2Itb3Rn IHsKKwkJY29tcGF0aWJsZSA9ICJyZWd1bGF0b3ItZml4ZWQiOworCQllbmFibGUtYWN0aXZlLWhp Z2g7CisJCWdwaW8gPSA8JmdwaW8wIFJLX1BBNSBHUElPX0FDVElWRV9ISUdIPjsKKwkJcGluY3Ry bC1uYW1lcyA9ICJkZWZhdWx0IjsKKwkJcGluY3RybC0wID0gPCZ2Y2M1djBfdXNiX290Z19lbj47 CisJCXJlZ3VsYXRvci1uYW1lID0gInZjYzV2MF91c2Jfb3RnIjsKKwkJcmVndWxhdG9yLW1pbi1t aWNyb3ZvbHQgPSA8NTAwMDAwMD47CisJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDUwMDAw MDA+OworCQl2aW4tc3VwcGx5ID0gPCZ2Y2M1djBfdXNiPjsKKwl9OworfTsKKworJmNhbjEgewor CWFzc2lnbmVkLWNsb2NrcyA9IDwmY3J1IENMS19DQU4xPjsKKwlhc3NpZ25lZC1jbG9jay1yYXRl cyA9IDwxNTAwMDAwMDA+OworCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7CisJcGluY3RybC0w ID0gPCZjYW4xbTFfcGlucz47CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworLyogdXNlZCBmb3Ig dXNiX2hvc3QwX3hoY2kgKi8KKyZjb21icGh5MCB7CisJc3RhdHVzID0gIm9rYXkiOworfTsKKwor LyogdXNlZCBmb3IgdXNiX2hvc3QxX3hoY2kgKi8KKyZjb21icGh5MSB7CisJc3RhdHVzID0gIm9r YXkiOworfTsKKworLyogY29ubmVjdGVkIHRvIHNhdGEyICovCismY29tYnBoeTIgeworCXN0YXR1 cyA9ICJva2F5IjsKK307CisKKyZjcHUwIHsKKwljcHUtc3VwcGx5ID0gPCZ2ZGRfY3B1PjsKK307 CisKKyZjcHUxIHsKKwljcHUtc3VwcGx5ID0gPCZ2ZGRfY3B1PjsKK307CisKKyZjcHUyIHsKKwlj cHUtc3VwcGx5ID0gPCZ2ZGRfY3B1PjsKK307CisKKyZjcHUzIHsKKwljcHUtc3VwcGx5ID0gPCZ2 ZGRfY3B1PjsKK307CisKKyZnbWFjMCB7CisJYXNzaWduZWQtY2xvY2tzID0gPCZjcnUgU0NMS19H TUFDMF9SWF9UWD4sIDwmY3J1IFNDTEtfR01BQzA+OworCWFzc2lnbmVkLWNsb2NrLXBhcmVudHMg PSA8JmNydSBTQ0xLX0dNQUMwX1JHTUlJX1NQRUVEPjsKKwlhc3NpZ25lZC1jbG9jay1yYXRlcyA9 IDwwPiwgPDEyNTAwMDAwMD47CisJY2xvY2tfaW5fb3V0ID0gIm91dHB1dCI7CisJcGluY3RybC1u YW1lcyA9ICJkZWZhdWx0IjsKKwlwaW5jdHJsLTAgPSA8JmdtYWMwX21paW0KKwkJICAgICAmZ21h YzBfdHhfYnVzMgorCQkgICAgICZnbWFjMF9yeF9idXMyCisJCSAgICAgJmdtYWMwX3JnbWlpX2Ns aworCQkgICAgICZnbWFjMF9yZ21paV9idXM+OworCXBoeS1oYW5kbGUgPSA8JnJnbWlpX3BoeTA+ OworCXBoeS1tb2RlID0gInJnbWlpLWlkIjsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCismZ21h YzEgeworCWFzc2lnbmVkLWNsb2NrcyA9IDwmY3J1IFNDTEtfR01BQzFfUlhfVFg+LCA8JmNydSBT Q0xLX0dNQUMxPjsKKwlhc3NpZ25lZC1jbG9jay1wYXJlbnRzID0gPCZjcnUgU0NMS19HTUFDMV9S R01JSV9TUEVFRD47CisJYXNzaWduZWQtY2xvY2stcmF0ZXMgPSA8MD4sIDwxMjUwMDAwMDA+Owor CWNsb2NrX2luX291dCA9ICJvdXRwdXQiOworCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7CisJ cGluY3RybC0wID0gPCZnbWFjMW0xX21paW0KKwkJICAgICAmZ21hYzFtMV90eF9idXMyCisJCSAg ICAgJmdtYWMxbTFfcnhfYnVzMgorCQkgICAgICZnbWFjMW0xX3JnbWlpX2NsaworCQkgICAgICZn bWFjMW0xX3JnbWlpX2J1cz47CisJcGh5LWhhbmRsZSA9IDwmcmdtaWlfcGh5MT47CisJcGh5LW1v ZGUgPSAicmdtaWktaWQiOworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZncHUgeworCW1hbGkt c3VwcGx5ID0gPCZ2ZGRfZ3B1PjsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCismaGRtaSB7CisJ YXZkZC0wdjktc3VwcGx5ID0gPCZ2ZGRhMHY5X2ltYWdlPjsKKwlhdmRkLTF2OC1zdXBwbHkgPSA8 JnZjY2ExdjhfaW1hZ2U+OworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZoZG1pX2luIHsKKwlo ZG1pX2luX3ZwMDogZW5kcG9pbnQgeworCQlyZW1vdGUtZW5kcG9pbnQgPSA8JnZwMF9vdXRfaGRt aT47CisJfTsKK307CisKKyZoZG1pX291dCB7CisJaGRtaV9vdXRfY29uOiBlbmRwb2ludCB7CisJ CXJlbW90ZS1lbmRwb2ludCA9IDwmaGRtaV9jb25faW4+OworCX07Cit9OworCismaGRtaV9zb3Vu ZCB7CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJmkyYzAgeworCXN0YXR1cyA9ICJva2F5IjsK KworCXZkZF9jcHU6IHJlZ3VsYXRvckAxYyB7CisJCWNvbXBhdGlibGUgPSAidGNzLHRjczQ1MjUi OworCQlyZWcgPSA8MHgxYz47CisJCWZjcyxzdXNwZW5kLXZvbHRhZ2Utc2VsZWN0b3IgPSA8MT47 CisJCXJlZ3VsYXRvci1uYW1lID0gInZkZF9jcHUiOworCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwor CQlyZWd1bGF0b3ItYm9vdC1vbjsKKwkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8ODAwMDAw PjsKKwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MTE1MDAwMD47CisJCXJlZ3VsYXRvci1y YW1wLWRlbGF5ID0gPDIzMDA+OworCQl2aW4tc3VwcGx5ID0gPCZ2Y2M1djBfc3lzPjsKKworCQly ZWd1bGF0b3Itc3RhdGUtbWVtIHsKKwkJCXJlZ3VsYXRvci1vZmYtaW4tc3VzcGVuZDsKKwkJfTsK Kwl9OworCisJcms4MDk6IHBtaWNAMjAgeworCQljb21wYXRpYmxlID0gInJvY2tjaGlwLHJrODA5 IjsKKwkJcmVnID0gPDB4MjA+OworCQlpbnRlcnJ1cHQtcGFyZW50ID0gPCZncGlvMD47CisJCWlu dGVycnVwdHMgPSA8UktfUEEzIElSUV9UWVBFX0xFVkVMX0xPVz47CisJCWFzc2lnbmVkLWNsb2Nr cyA9IDwmY3J1IEkyUzFfTUNMS09VVF9UWD47CisJCWFzc2lnbmVkLWNsb2NrLXBhcmVudHMgPSA8 JmNydSBDTEtfSTJTMV84Q0hfVFg+OworCQkjY2xvY2stY2VsbHMgPSA8MT47CisJCWNsb2NrLW5h bWVzID0gIm1jbGsiOworCQljbG9ja3MgPSA8JmNydSBJMlMxX01DTEtPVVRfVFg+OworCQlwaW5j dHJsLW5hbWVzID0gImRlZmF1bHQiOworCQlwaW5jdHJsLTAgPSA8JnBtaWNfaW50PiwgPCZpMnMx bTBfbWNsaz47CisJCXN5c3RlbS1wb3dlci1jb250cm9sbGVyOworCQkjc291bmQtZGFpLWNlbGxz ID0gPDA+OworCQl2Y2MxLXN1cHBseSA9IDwmdmNjM3YzX3N5cz47CisJCXZjYzItc3VwcGx5ID0g PCZ2Y2MzdjNfc3lzPjsKKwkJdmNjMy1zdXBwbHkgPSA8JnZjYzN2M19zeXM+OworCQl2Y2M0LXN1 cHBseSA9IDwmdmNjM3YzX3N5cz47CisJCXZjYzUtc3VwcGx5ID0gPCZ2Y2MzdjNfc3lzPjsKKwkJ dmNjNi1zdXBwbHkgPSA8JnZjYzN2M19zeXM+OworCQl2Y2M3LXN1cHBseSA9IDwmdmNjM3YzX3N5 cz47CisJCXZjYzgtc3VwcGx5ID0gPCZ2Y2MzdjNfc3lzPjsKKwkJdmNjOS1zdXBwbHkgPSA8JnZj YzN2M19zeXM+OworCQl3YWtldXAtc291cmNlOworCisJCXJlZ3VsYXRvcnMgeworCQkJdmRkX2xv Z2ljOiBEQ0RDX1JFRzEgeworCQkJCXJlZ3VsYXRvci1uYW1lID0gInZkZF9sb2dpYyI7CisJCQkJ cmVndWxhdG9yLWFsd2F5cy1vbjsKKwkJCQlyZWd1bGF0b3ItYm9vdC1vbjsKKwkJCQlyZWd1bGF0 b3ItaW5pdGlhbC1tb2RlID0gPDB4Mj47CisJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8 NTAwMDAwPjsKKwkJCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwxMzUwMDAwPjsKKwkJCQly ZWd1bGF0b3ItcmFtcC1kZWxheSA9IDw2MDAxPjsKKworCQkJCXJlZ3VsYXRvci1zdGF0ZS1tZW0g eworCQkJCQlyZWd1bGF0b3Itb2ZmLWluLXN1c3BlbmQ7CisJCQkJfTsKKwkJCX07CisKKwkJCXZk ZF9ncHU6IERDRENfUkVHMiB7CisJCQkJcmVndWxhdG9yLW5hbWUgPSAidmRkX2dwdSI7CisJCQkJ cmVndWxhdG9yLWFsd2F5cy1vbjsKKwkJCQlyZWd1bGF0b3ItaW5pdGlhbC1tb2RlID0gPDB4Mj47 CisJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8NTAwMDAwPjsKKwkJCQlyZWd1bGF0b3It bWF4LW1pY3Jvdm9sdCA9IDwxMzUwMDAwPjsKKwkJCQlyZWd1bGF0b3ItcmFtcC1kZWxheSA9IDw2 MDAxPjsKKworCQkJCXJlZ3VsYXRvci1zdGF0ZS1tZW0geworCQkJCQlyZWd1bGF0b3Itb2ZmLWlu LXN1c3BlbmQ7CisJCQkJfTsKKwkJCX07CisKKwkJCXZjY19kZHI6IERDRENfUkVHMyB7CisJCQkJ cmVndWxhdG9yLW5hbWUgPSAidmNjX2RkciI7CisJCQkJcmVndWxhdG9yLWFsd2F5cy1vbjsKKwkJ CQlyZWd1bGF0b3ItYm9vdC1vbjsKKwkJCQlyZWd1bGF0b3ItaW5pdGlhbC1tb2RlID0gPDB4Mj47 CisKKwkJCQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKKwkJCQkJcmVndWxhdG9yLW9uLWluLXN1c3Bl bmQ7CisJCQkJfTsKKwkJCX07CisKKwkJCXZkZF9ucHU6IERDRENfUkVHNCB7CisJCQkJcmVndWxh dG9yLW5hbWUgPSAidmRkX25wdSI7CisJCQkJcmVndWxhdG9yLWluaXRpYWwtbW9kZSA9IDwweDI+ OworCQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDUwMDAwMD47CisJCQkJcmVndWxhdG9y LW1heC1taWNyb3ZvbHQgPSA8MTM1MDAwMD47CisJCQkJcmVndWxhdG9yLXJhbXAtZGVsYXkgPSA8 NjAwMT47CisKKwkJCQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKKwkJCQkJcmVndWxhdG9yLW9mZi1p bi1zdXNwZW5kOworCQkJCX07CisJCQl9OworCisJCQl2Y2NfMXY4OiBEQ0RDX1JFRzUgeworCQkJ CXJlZ3VsYXRvci1uYW1lID0gInZjY18xdjgiOworCQkJCXJlZ3VsYXRvci1hbHdheXMtb247CisJ CQkJcmVndWxhdG9yLWJvb3Qtb247CisJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8MTgw MDAwMD47CisJCQkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MTgwMDAwMD47CisKKwkJCQly ZWd1bGF0b3Itc3RhdGUtbWVtIHsKKwkJCQkJcmVndWxhdG9yLW9mZi1pbi1zdXNwZW5kOworCQkJ CX07CisJCQl9OworCisJCQl2ZGRhMHY5X2ltYWdlOiBMRE9fUkVHMSB7CisJCQkJcmVndWxhdG9y LW5hbWUgPSAidmRkYTB2OV9pbWFnZSI7CisJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8 OTAwMDAwPjsKKwkJCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDw5MDAwMDA+OworCisJCQkJ cmVndWxhdG9yLXN0YXRlLW1lbSB7CisJCQkJCXJlZ3VsYXRvci1vZmYtaW4tc3VzcGVuZDsKKwkJ CQl9OworCQkJfTsKKworCQkJdmRkYV8wdjk6IExET19SRUcyIHsKKwkJCQlyZWd1bGF0b3ItbmFt ZSA9ICJ2ZGRhXzB2OSI7CisJCQkJcmVndWxhdG9yLWFsd2F5cy1vbjsKKwkJCQlyZWd1bGF0b3It Ym9vdC1vbjsKKwkJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDw5MDAwMDA+OworCQkJCXJl Z3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDkwMDAwMD47CisKKwkJCQlyZWd1bGF0b3Itc3RhdGUt bWVtIHsKKwkJCQkJcmVndWxhdG9yLW9mZi1pbi1zdXNwZW5kOworCQkJCX07CisJCQl9OworCisJ CQl2ZGRhMHY5X3BtdTogTERPX1JFRzMgeworCQkJCXJlZ3VsYXRvci1uYW1lID0gInZkZGEwdjlf cG11IjsKKwkJCQlyZWd1bGF0b3ItYWx3YXlzLW9uOworCQkJCXJlZ3VsYXRvci1ib290LW9uOwor CQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDkwMDAwMD47CisJCQkJcmVndWxhdG9yLW1h eC1taWNyb3ZvbHQgPSA8OTAwMDAwPjsKKworCQkJCXJlZ3VsYXRvci1zdGF0ZS1tZW0geworCQkJ CQlyZWd1bGF0b3Itb24taW4tc3VzcGVuZDsKKwkJCQkJcmVndWxhdG9yLXN1c3BlbmQtbWljcm92 b2x0ID0gPDkwMDAwMD47CisJCQkJfTsKKwkJCX07CisKKwkJCXZjY2lvX2Fjb2RlYzogTERPX1JF RzQgeworCQkJCXJlZ3VsYXRvci1uYW1lID0gInZjY2lvX2Fjb2RlYyI7CisJCQkJcmVndWxhdG9y LWFsd2F5cy1vbjsKKwkJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDwzMzAwMDAwPjsKKwkJ CQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwzMzAwMDAwPjsKKworCQkJCXJlZ3VsYXRvci1z dGF0ZS1tZW0geworCQkJCQlyZWd1bGF0b3Itb2ZmLWluLXN1c3BlbmQ7CisJCQkJfTsKKwkJCX07 CisKKwkJCXZjY2lvX3NkOiBMRE9fUkVHNSB7CisJCQkJcmVndWxhdG9yLW5hbWUgPSAidmNjaW9f c2QiOworCQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDE4MDAwMDA+OworCQkJCXJlZ3Vs YXRvci1tYXgtbWljcm92b2x0ID0gPDMzMDAwMDA+OworCisJCQkJcmVndWxhdG9yLXN0YXRlLW1l bSB7CisJCQkJCXJlZ3VsYXRvci1vZmYtaW4tc3VzcGVuZDsKKwkJCQl9OworCQkJfTsKKworCQkJ dmNjM3YzX3BtdTogTERPX1JFRzYgeworCQkJCXJlZ3VsYXRvci1uYW1lID0gInZjYzN2M19wbXUi OworCQkJCXJlZ3VsYXRvci1hbHdheXMtb247CisJCQkJcmVndWxhdG9yLWJvb3Qtb247CisJCQkJ cmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8MzMwMDAwMD47CisJCQkJcmVndWxhdG9yLW1heC1t aWNyb3ZvbHQgPSA8MzMwMDAwMD47CisKKwkJCQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKKwkJCQkJ cmVndWxhdG9yLW9uLWluLXN1c3BlbmQ7CisJCQkJCXJlZ3VsYXRvci1zdXNwZW5kLW1pY3Jvdm9s dCA9IDwzMzAwMDAwPjsKKwkJCQl9OworCQkJfTsKKworCQkJdmNjYV8xdjg6IExET19SRUc3IHsK KwkJCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2NhXzF2OCI7CisJCQkJcmVndWxhdG9yLWFsd2F5cy1v bjsKKwkJCQlyZWd1bGF0b3ItYm9vdC1vbjsKKwkJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9 IDwxODAwMDAwPjsKKwkJCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKKwor CQkJCXJlZ3VsYXRvci1zdGF0ZS1tZW0geworCQkJCQlyZWd1bGF0b3Itb2ZmLWluLXN1c3BlbmQ7 CisJCQkJfTsKKwkJCX07CisKKwkJCXZjY2ExdjhfcG11OiBMRE9fUkVHOCB7CisJCQkJcmVndWxh dG9yLW5hbWUgPSAidmNjYTF2OF9wbXUiOworCQkJCXJlZ3VsYXRvci1hbHdheXMtb247CisJCQkJ cmVndWxhdG9yLWJvb3Qtb247CisJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8MTgwMDAw MD47CisJCQkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MTgwMDAwMD47CisKKwkJCQlyZWd1 bGF0b3Itc3RhdGUtbWVtIHsKKwkJCQkJcmVndWxhdG9yLW9uLWluLXN1c3BlbmQ7CisJCQkJCXJl Z3VsYXRvci1zdXNwZW5kLW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKKwkJCQl9OworCQkJfTsKKwor CQkJdmNjYTF2OF9pbWFnZTogTERPX1JFRzkgeworCQkJCXJlZ3VsYXRvci1uYW1lID0gInZjY2Ex djhfaW1hZ2UiOworCQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDE4MDAwMDA+OworCQkJ CXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDE4MDAwMDA+OworCisJCQkJcmVndWxhdG9yLXN0 YXRlLW1lbSB7CisJCQkJCXJlZ3VsYXRvci1vZmYtaW4tc3VzcGVuZDsKKwkJCQl9OworCQkJfTsK KworCQkJdmNjXzN2MzogU1dJVENIX1JFRzEgeworCQkJCXJlZ3VsYXRvci1uYW1lID0gInZjY18z djMiOworCQkJCXJlZ3VsYXRvci1hbHdheXMtb247CisJCQkJcmVndWxhdG9yLWJvb3Qtb247CisK KwkJCQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKKwkJCQkJcmVndWxhdG9yLW9mZi1pbi1zdXNwZW5k OworCQkJCX07CisJCQl9OworCisJCQl2Y2MzdjNfc2Q6IFNXSVRDSF9SRUcyIHsKKwkJCQlyZWd1 bGF0b3ItbmFtZSA9ICJ2Y2MzdjNfc2QiOworCisJCQkJcmVndWxhdG9yLXN0YXRlLW1lbSB7CisJ CQkJCXJlZ3VsYXRvci1vZmYtaW4tc3VzcGVuZDsKKwkJCQl9OworCQkJfTsKKwkJfTsKKworCQlj b2RlYyB7CisJCQlyb2NrY2hpcCxtaWMtaW4tZGlmZmVyZW50aWFsOworCQl9OworCX07Cit9Owor CismaTJjNSB7CisJc3RhdHVzID0gIm9rYXkiOworCisJcnRjMDogcnRjQDUxIHsKKwkJY29tcGF0 aWJsZSA9ICJueHAscGNmODU2MyI7CisJCXJlZyA9IDwweDUxPjsKKwkJI2Nsb2NrLWNlbGxzID0g PDA+OworCX07Cit9OworCismaTJzMF84Y2ggeworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZp MnMxXzhjaCB7CisJcGluY3RybC0wID0gPCZpMnMxbTBfc2Nsa3R4ICZpMnMxbTBfbHJja3R4ICZp MnMxbTBfc2RpMCAmaTJzMW0wX3NkbzA+OworCXJvY2tjaGlwLHRyY20tc3luYy10eC1vbmx5Owor CXN0YXR1cyA9ICJva2F5IjsKK307CisKKy8qIHVzZWQgZm9yIEFQNjM1NlMgQmx1ZXRvb3RoIFNv dW5kICovCismaTJzM18yY2ggeworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZtZGlvMCB7CisJ cmdtaWlfcGh5MDogZXRoZXJuZXQtcGh5QDEgeworCQljb21wYXRpYmxlID0gImV0aGVybmV0LXBo eS1pZWVlODAyLjMtYzIyIjsKKwkJcmVnID0gPDE+OworCQlyZXNldC1hc3NlcnQtdXMgPSA8MjAw MDA+OworCQlyZXNldC1kZWFzc2VydC11cyA9IDwxMDAwMDA+OworCQlyZXNldC1ncGlvcyA9IDwm Z3BpbzIgUktfUEQzIEdQSU9fQUNUSVZFX0xPVz47CisKKwkJbGVkcyB7CisJCQkjYWRkcmVzcy1j ZWxscyA9IDwxPjsKKwkJCSNzaXplLWNlbGxzID0gPDA+OworCisJCQlsZWRAMSB7CisJCQkJcmVn ID0gPDE+OworCQkJCWNvbG9yID0gPExFRF9DT0xPUl9JRF9HUkVFTj47CisJCQkJZnVuY3Rpb24g PSBMRURfRlVOQ1RJT05fTEFOOworCQkJCWRlZmF1bHQtc3RhdGUgPSAia2VlcCI7CisJCQl9Owor CisJCQlsZWRAMiB7CisJCQkJcmVnID0gPDI+OworCQkJCWNvbG9yID0gPExFRF9DT0xPUl9JRF9B TUJFUj47CisJCQkJZnVuY3Rpb24gPSBMRURfRlVOQ1RJT05fTEFOOworCQkJCWRlZmF1bHQtc3Rh dGUgPSAia2VlcCI7CisJCQl9OworCQl9OworCX07Cit9OworCismbWRpbzEgeworCXJnbWlpX3Bo eTE6IGV0aGVybmV0LXBoeUAxIHsKKwkJY29tcGF0aWJsZSA9ICJldGhlcm5ldC1waHktaWVlZTgw Mi4zLWMyMiI7CisJCXJlZyA9IDwxPjsKKwkJcmVzZXQtYXNzZXJ0LXVzID0gPDIwMDAwPjsKKwkJ cmVzZXQtZGVhc3NlcnQtdXMgPSA8MTAwMDAwPjsKKwkJcmVzZXQtZ3Bpb3MgPSA8JmdwaW8yIFJL X1BEMSBHUElPX0FDVElWRV9MT1c+OworCisJCWxlZHMgeworCQkJI2FkZHJlc3MtY2VsbHMgPSA8 MT47CisJCQkjc2l6ZS1jZWxscyA9IDwwPjsKKworCQkJbGVkQDEgeworCQkJCXJlZyA9IDwxPjsK KwkJCQljb2xvciA9IDxMRURfQ09MT1JfSURfR1JFRU4+OworCQkJCWZ1bmN0aW9uID0gTEVEX0ZV TkNUSU9OX0xBTjsKKwkJCQlkZWZhdWx0LXN0YXRlID0gImtlZXAiOworCQkJfTsKKworCQkJbGVk QDIgeworCQkJCXJlZyA9IDwyPjsKKwkJCQljb2xvciA9IDxMRURfQ09MT1JfSURfQU1CRVI+Owor CQkJCWZ1bmN0aW9uID0gTEVEX0ZVTkNUSU9OX0xBTjsKKwkJCQlkZWZhdWx0LXN0YXRlID0gImtl ZXAiOworCQkJfTsKKwkJfTsKKwl9OworfTsKKworJnBjaWUzMHBoeSB7CisJc3RhdHVzID0gIm9r YXkiOworfTsKKworJnBjaWUzeDIgeworCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7CisJcGlu Y3RybC0wID0gPCZwY2llX3Jlc2V0X3Bpbj47CisJcmVzZXQtZ3Bpb3MgPSA8JmdwaW8yIFJLX1BE NiBHUElPX0FDVElWRV9ISUdIPjsKKwl2cGNpZTN2My1zdXBwbHkgPSA8JnZjYzN2M19wY2llPjsK KwlzdGF0dXMgPSAib2theSI7Cit9OworCismcGRtIHsKKwlzdGF0dXMgPSAib2theSI7Cit9Owor CismcGluY3RybCB7CisJbGVkcyB7CisJCWxlZF93b3JrX2VuOiBsZWRfd29ya19lbiB7CisJCQly b2NrY2hpcCxwaW5zID0gPDAgUktfUEMwIFJLX0ZVTkNfR1BJTyAmcGNmZ19wdWxsX25vbmU+Owor CQl9OworCX07CisKKwlwbWljIHsKKwkJcG1pY19pbnQ6IHBtaWNfaW50IHsKKwkJCXJvY2tjaGlw LHBpbnMgPSA8MCBSS19QQTMgUktfRlVOQ19HUElPICZwY2ZnX3B1bGxfdXA+OworCQl9OworCX07 CisKKwlzZGlvLXB3cnNlcSB7CisJCXdpZmlfZW5hYmxlOiB3aWZpLWVuYWJsZSB7CisJCQlyb2Nr Y2hpcCxwaW5zID0gPDMgUktfUEQ1IFJLX0ZVTkNfR1BJTyAmcGNmZ19wdWxsX25vbmU+OworCQl9 OworCX07CisKKwl1c2IgeworCQl2Y2M1djBfdXNiX2hvc3RfZW46IHZjYzV2MF91c2JfaG9zdF9l biB7CisJCQlyb2NrY2hpcCxwaW5zID0gPDAgUktfUEE2IFJLX0ZVTkNfR1BJTyAmcGNmZ19wdWxs X25vbmU+OworCQl9OworCQl2Y2M1djBfdXNiX290Z19lbjogdmNjNXYwX3VzYl9vdGdfZW4gewor CQkJcm9ja2NoaXAscGlucyA9IDwwIFJLX1BBNSBSS19GVU5DX0dQSU8gJnBjZmdfcHVsbF9ub25l PjsKKwkJfTsKKwl9OworCisJcGNpZSB7CisJCXBjaWVfcmVzZXRfcGluOiBwY2llLXJlc2V0LXBp biB7CisJCQlyb2NrY2hpcCxwaW5zID0gPDIgUktfUEQ2IFJLX0ZVTkNfR1BJTyAmcGNmZ19wdWxs X25vbmU+OworCQl9OworCQl2Y2MzdjNfcGNpZV9lbl9waW46IHZjYzN2My1wY2llLWVuLXBpbiB7 CisJCQlyb2NrY2hpcCxwaW5zID0gPDMgUktfUEMzIFJLX0ZVTkNfR1BJTyAmcGNmZ19wdWxsX25v bmU+OworCQl9OworCX07Cit9OworCismcG11X2lvX2RvbWFpbnMgeworCXBtdWlvMS1zdXBwbHkg PSA8JnZjYzN2M19wbXU+OworCXBtdWlvMi1zdXBwbHkgPSA8JnZjYzN2M19wbXU+OworCXZjY2lv MS1zdXBwbHkgPSA8JnZjY2lvX2Fjb2RlYz47CisJdmNjaW8yLXN1cHBseSA9IDwmdmNjXzF2OD47 CisJdmNjaW8zLXN1cHBseSA9IDwmdmNjaW9fc2Q+OworCXZjY2lvNC1zdXBwbHkgPSA8JnZjY18x djg+OworCXZjY2lvNS1zdXBwbHkgPSA8JnZjY18zdjM+OworCXZjY2lvNi1zdXBwbHkgPSA8JnZj Y18xdjg+OworCXZjY2lvNy1zdXBwbHkgPSA8JnZjY18zdjM+OworCXN0YXR1cyA9ICJva2F5IjsK K307CisKKyZwd200IHsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCismcHdtNSB7CisJc3RhdHVz ID0gIm9rYXkiOworfTsKKworLyogUmVxdWlyZWQgcmVtb3RlY3RsIGZvciBJUiByZWNlaXZlciAq LworJnB3bTcgeworCXN0YXR1cyA9ICJkaXNhYmxlZCI7Cit9OworCismc2FyYWRjIHsKKwl2cmVm LXN1cHBseSA9IDwmdmNjYV8xdjg+OworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZzYXRhMiB7 CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworLyogdXNlZCBmb3IgZU1NQyAqLworJnNkaGNpIHsK KwlidXMtd2lkdGggPSA8OD47CisJbWF4LWZyZXF1ZW5jeSA9IDwyMDAwMDAwMDA+OworCW1tYy1o czIwMC0xXzh2OworCW5vbi1yZW1vdmFibGU7CisJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsK KwlwaW5jdHJsLTAgPSA8JmVtbWNfYnVzOCAmZW1tY19jbGsgJmVtbWNfY21kICZlbW1jX2RhdGFz dHJvYmU+OworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKy8qIHVzZWQgZm9yIG1pY3JvU0QgKFRG KSBTbG90ICovCismc2RtbWMwIHsKKwlidXMtd2lkdGggPSA8ND47CisJY2FwLXNkLWhpZ2hzcGVl ZDsKKwljZC1ncGlvcyA9IDwmZ3BpbzAgUktfUEE0IEdQSU9fQUNUSVZFX0xPVz47CisJZGlzYWJs ZS13cDsKKwlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOworCXBpbmN0cmwtMCA9IDwmc2RtbWMw X2J1czQgJnNkbW1jMF9jbGsgJnNkbW1jMF9jbWQgJnNkbW1jMF9kZXQ+OworCXNkLXVocy1zZHIx MDQ7CisJdm1tYy1zdXBwbHkgPSA8JnZjYzN2M19zZD47CisJdnFtbWMtc3VwcGx5ID0gPCZ2Y2Np b19zZD47CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworLyogdXNlZCBmb3IgQVA2MzU2UyBXaUZp ICovCismc2RtbWMyIHsKKwlidXMtd2lkdGggPSA8ND47CisJY2FwLXNkLWhpZ2hzcGVlZDsKKwlj YXAtc2Rpby1pcnE7CisJa2VlcC1wb3dlci1pbi1zdXNwZW5kOworCW1tYy1wd3JzZXEgPSA8JnNk aW9fcHdyc2VxPjsKKwlub24tcmVtb3ZhYmxlOworCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7 CisJcGluY3RybC0wID0gPCZzZG1tYzJtMF9idXM0ICZzZG1tYzJtMF9jbWQgJnNkbW1jMm0wX2Ns az47CisJc2QtdWhzLXNkcjEwNDsKKwl2bW1jLXN1cHBseSA9IDwmdmNjM3YzX3N5cz47CisJdnFt bWMtc3VwcGx5ID0gPCZ2Y2NfMXY4PjsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCismc3BkaWYg eworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZ0c2FkYyB7CisJcm9ja2NoaXAsaHctdHNodXQt bW9kZSA9IDwxPjsKKwlyb2NrY2hpcCxody10c2h1dC1wb2xhcml0eSA9IDwwPjsKKwlzdGF0dXMg PSAib2theSI7Cit9OworCisvKiB1c2VkIGZvciBEZWJ1ZyAqLworJnVhcnQyIHsKKwlzdGF0dXMg PSAib2theSI7Cit9OworCismdWFydDMgeworCXBpbmN0cmwtMCA9IDwmdWFydDNtMV94ZmVyPjsK KwlzdGF0dXMgPSAib2theSI7Cit9OworCismdWFydDQgeworCXBpbmN0cmwtMCA9IDwmdWFydDRt MV94ZmVyPjsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCisvKiB1c2VkIGZvciBXaUZpL0JUIEFQ NjM1NlMgKi8KKyZ1YXJ0OCB7CisJcGluY3RybC0wID0gPCZ1YXJ0OG0wX3hmZXIgJnVhcnQ4bTBf Y3Rzbj47CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJnVhcnQ5IHsKKwlwaW5jdHJsLTAgPSA8 JnVhcnQ5bTFfeGZlcj47CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJnVzYl9ob3N0MF9laGNp IHsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCismdXNiX2hvc3QwX29oY2kgeworCXN0YXR1cyA9 ICJva2F5IjsKK307CisKKyZ1c2JfaG9zdDBfeGhjaSB7CisJZXh0Y29uID0gPCZ1c2IycGh5MD47 CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJnVzYl9ob3N0MV9laGNpIHsKKwlzdGF0dXMgPSAi b2theSI7Cit9OworCismdXNiX2hvc3QxX29oY2kgeworCXN0YXR1cyA9ICJva2F5IjsKK307CisK KyZ1c2JfaG9zdDFfeGhjaSB7CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJnVzYjJwaHkwIHsK KwlzdGF0dXMgPSAib2theSI7Cit9OworCismdXNiMnBoeTBfaG9zdCB7CisJcGh5LXN1cHBseSA9 IDwmdmNjNXYwX3VzYl9ob3N0PjsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCismdXNiMnBoeTBf b3RnIHsKKwlwaHktc3VwcGx5ID0gPCZ2Y2M1djBfdXNiX290Zz47CisJc3RhdHVzID0gIm9rYXki OworfTsKKworJnVzYjJwaHkxIHsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCismdXNiMnBoeTFf aG9zdCB7CisJcGh5LXN1cHBseSA9IDwmdmNjNXYwX3VzYl9ob3N0PjsKKwlzdGF0dXMgPSAib2th eSI7Cit9OworCismdXNiMnBoeTFfb3RnIHsKKwlwaHktc3VwcGx5ID0gPCZ2Y2M1djBfdXNiX2hv c3Q+OworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZ2b3AgeworCWFzc2lnbmVkLWNsb2NrcyA9 IDwmY3J1IERDTEtfVk9QMD4sIDwmY3J1IERDTEtfVk9QMT47CisJYXNzaWduZWQtY2xvY2stcGFy ZW50cyA9IDwmcG11Y3J1IFBMTF9IUExMPiwgPCZjcnUgUExMX1ZQTEw+OworCXN0YXR1cyA9ICJv a2F5IjsKK307CisKKyZ2b3BfbW11IHsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCismdnAwIHsK Kwl2cDBfb3V0X2hkbWk6IGVuZHBvaW50QFJPQ0tDSElQX1ZPUDJfRVBfSERNSTAgeworCQlyZWcg PSA8Uk9DS0NISVBfVk9QMl9FUF9IRE1JMD47CisJCXJlbW90ZS1lbmRwb2ludCA9IDwmaGRtaV9p bl92cDA+OworCX07Cit9OwotLSAKMi40Ny4zCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0CkxpbnV4LXJv Y2tjaGlwQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1yb2NrY2hpcAo=